在这个练习中,你要实现一个程序,判断一局井字棋的状态。 (这个游戏也叫“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
___|___|___
| |
| |
| |