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