У цій вправі ми реалізуємо програму, яка визначає стан гри в хрестики-нулики. (Можливо, цю гру також знають як «noughts and crosses» або «Xs and Os».)
Гра відбувається на полі 3×3.
Гравці по черзі ставлять X та O на поле.
Гра закінчується, коли один гравець перемагає, поставивши три свої позначки в рядок, стовпець або по діагоналі поля, або коли все поле заповнене.
У цій вправі ми припускаємо, що першим ходить X.
Наше завдання - визначити, у якому стані перебуває задана гра.
Є 3 можливі стани гри:
Якщо задане поле неправильне, киньте відповідну помилку.
Поле вважається неправильним, якщо виконуються такі умови:
X). | |
X | |
___|___|___
| |
| X | O
___|___|___
| |
O | X |
| |
| |
X | O | X
___|___|___
| |
X | X | O
___|___|___
| |
O | X | O
| |
| |
X | X | X
___|___|___
| |
| O | O
___|___|___
| |
| |
| |
| |
O | O | X
___|___|___
| |
| |
___|___|___
| |
| |
| |
| |
X | X | X
___|___|___
| |
O | O | O
___|___|___
| |
| |
| |