2
玩井字游戏,永不丢失
(存在一些挑战,需要使用最佳策略,但在这里我们不需要。即使您能够获胜,也可以平局) 挑战 编写一个玩井字游戏的程序。它一定不能输(因此,应该以平局或获胜结束游戏)。 允许的I / O方法 输入可能是当前板。您可以假设第二个玩家的所有先前举动都是由您的引擎进行的。 输入的内容可能是第一个玩家的举动,而您的函数将存储过去发生过的举动。在这种情况下,该函数被多次调用,每次移动一次。或多次输入功能/程序提示。 允许您输入额外的信息,例如您是第一位玩家,还是编写两个(可能是相关的)函数来解决第一位玩家和第二位玩家的问题。如果程序需要使用输入法2(多次调用),则可以决定在第一次调用中传递了什么。 轮到您后,输出可能是板。 输出可能是您的举动。 移动可以表示为一对数字(可以是0索引或1索引),0到8范围内的数字或1到9范围内的数字。 木板可以表示为3×3数组或长度为9的数组。即使语言具有0索引数组,也可以使用1索引。 网格上的细胞可以使用任何3个不同的值,以指示X,O并清空。 获奖标准 每种语言中最短的代码将获胜。