Давай поиграем в гольф!
С учетом состояния крестики-нолики (пример :)
|x|x|o|
|x|o|x|
|o|o|x|
Определите, является ли игра winа loseили cat. Ваш код должен выводить любую из этих опций с учетом состояния. Вышеприведенная игра должна вывестиlose
Просто чтобы прояснить: выигрыш определяется как любые 3 xс подряд (диагональ, горизонталь, вертикаль). проигрыш - 3 oс подряд, а catигра - ни одного подряд.
Чтобы сделать вещи интересными, вы должны определить свою структуру ввода для состояния, которое вы должны затем объяснить. Например, xxoxoxooxдопустимое состояние, как показано выше, где каждый из символов читается слева направо, сверху вниз. [['x','x','o'],['x','o','x'],['o','o','x']]это игра в многомерном массиве, читаемая аналогичным образом. В то время 0x1a9как шестнадцатеричное для 110101001может работать как подходящее сжатие, где 1можно манипулировать для xs и 0можно манипулировать для o.
Но это всего лишь некоторые идеи, я уверен, что у вас их может быть много.
Ключевые правила:
- Ваша программа должна быть в состоянии принять любое жизнеспособное состояние.
- Форма ввода должна быть в состоянии представить любое состояние.
- «Состояние победы должно быть определено с доски»
- Предположим, полная доска
Winперед,loseнапример, в случае «xxxoooxxx»
Наименьшее количество персонажей выигрывает
(win|lose|cat) [xo]{9}где первое слово обозначает, является ли игра победой, поражением или кошкой (?) Для игрока х. Способен представлять любое государство.