轨道
/
MoonScript
MoonScript
/
练习
/
井字棋的状态
井字棋的状态

井字棋的状态

中等

说明

在这个练习中,你要实现一个程序,判断一局井字棋的状态。 (这个游戏也叫“noughts and crosses”或“Xs and Os”。)

游戏在一个 3×3 的网格上进行。 玩家轮流在网格上放置X和O。 当一方玩家在网格的一行、一列或一条对角线上连放三个标记而获胜时,或者整个网格被填满时,游戏结束。

在这个练习中,我们假设X先手。

你的任务是判断给定的棋局处于哪种状态。

游戏可能有 3 种状态:

  • 游戏处于ongoing状态。
  • 游戏以draw结束。
  • 游戏以win结束。

如果给定的棋盘无效,就抛出适当的错误。

如果棋盘满足以下条件,就是无效的:

  • 当双方按正确顺序轮流落子时,无法得到给定的棋盘(记住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
___|___|___
   |   |
   |   |
   |   |
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
MoonScript Exercism

准备好开始 井字棋的状态 了吗?

注册 Exercism,借助 126 个练习 和真人导师指导,学习并掌握 MoonScript,全部免费。