Давай поиграем в гольф!
С учетом состояния крестики-нолики (пример :)
|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
можно манипулировать для x
s и 0
можно манипулировать для o
.
Но это всего лишь некоторые идеи, я уверен, что у вас их может быть много.
Ключевые правила:
- Ваша программа должна быть в состоянии принять любое жизнеспособное состояние.
- Форма ввода должна быть в состоянии представить любое состояние.
- «Состояние победы должно быть определено с доски»
- Предположим, полная доска
Win
перед,lose
например, в случае «xxxoooxxx»
Наименьшее количество персонажей выигрывает
(win|lose|cat) [xo]{9}
где первое слово обозначает, является ли игра победой, поражением или кошкой (?) Для игрока х. Способен представлять любое государство.