Давайте пограємо в гольф коду!
Дано стан дошки з тик-носом (Приклад :)
|x|x|o|
|x|o|x|
|o|o|x|
Визначте, чи гра є win
a 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}
де перше слово позначає, чи гра є виграш, програш чи кіт (?) Для гравця x. Здатний представляти будь-яку державу.