我想用python为一个3x3的tic-tac-toe板编写一个过程,名为winner(board)
,它采用一个表示tic-tac-toe板的二维列表,并确定是否有赢家(如果有赢家,是谁)或者游戏是否以平局结束。棋盘使用'-'
代表一个空缺位置,'x'
代表玩家1,'o'
代表玩家2。在
我还希望使用过程select_row(array, i)
和select_col(array,i)
,它们接受二维数组(用嵌套列表表示)和行或列的索引,并返回一个表示与该索引关联的行或列的列表,以及select_main_diag(array)
和select_counter_diag(array)
过程,它们接受一个二维正方形数组并返回一个包含主对角线或反对角线元素的列表。在
回报如下:
winner([['-','-','-'], ['-','-','-'], ['-','-','-']])
False
winner([['x','x','x'], ['-','-','-'], ['-','-','-']])
'x'
winner([['o', '-','-'], ['-', 'o','-'], ['-','-','o']])
'o'
winner([['-','-','x'], ['-','-','x'], ['-','-', 'x']])
'x'
winner([['x','o','x'], ['x','o','o'], ['o','x','x']])
"Draw"
winner([['x','o','x'], ['x','o','o'], ['o','-','x']])
False
我希望在守则中包括和使用的程序如下:
^{pr2}$我对使用python完全陌生,对它也不太熟悉,所以关于这个问题的任何建议——包括如何使用它以及如何将它放入代码中——都会很有帮助。在
这就是我如何确定赢家:
在下面的实现中,程序试图最大限度地提高获胜的机会。一个更强的版本会尽量减少失败的机会。另一种策略是学习什么样的行动会导致胜利,什么样的行动会导致失败。至于胜利者,
grade_grid(state.grid)
给出了答案。在相关问题 更多 >
编程相关推荐