【发布时间】:2023-03-05 09:57:02
【问题描述】:
我正在用 python 创建一个井字游戏,并且正在努力创建一个模块来检测是否有人获胜。我将 2 件事传递到模块中,即棋盘和一组获胜组合:win_comb=((0,1,2),(3,4,5),(6,7,8),(6,3,0),(7,4,1),(8,5,2),(6,4,2),(8,4,0))
我用来检查是否有人获胜的模块。在进行 4 次移动后调用该模块。如果有人赢了,那么它应该返回 1,如果有人没有,那么它应该返回 -1。
def Check_Results(Board,win_comb):
for each in win_comb:
try:
if (Board[each[0]] == Board[each[1]] and Board[each[1]]== Board[each[2]] and Board[each[0]]==Board[each[2]]):
return 1
else:
each=each+1
except:
pass
return -1
【问题讨论】:
-
与问题无关,但请查看PEP8's suggestions for naming conventions。它根本不会改变代码的工作方式,但它使其他人阅读它变得更加容易。
Board->board,Check_Results->check_results等 -
你只需要检查每一行(或每一列)和一个对角线。然后,transpose 你的董事会并重复。
标签: python tic-tac-toe