我正在做一个井字游戏,并试图创建一个函数,以检查3个相同的点在一行有相同的输入'x'或'0'。我有麻烦的三进排功能,我试图使触发游戏结束。我正试图找出如何以一种简单的方式来实现这一点,这样当播放3x或0时,所有的行或列都将被触发。。。以下是我目前所掌握的情况。这是Python2.7.13中的
(这只是我认为应该相关的代码的一部分)
def setup_board(size):
board = []
for row in range(size):
board.append([])
for col in range(size):
board[row].append(empty)
return board
def three_in_row(b):
b[0][0] and b[0][1] and b[0][2] == 'x'
def game_over(b):
if three_in_row(b) == True:
print "Congratulations You Win!"
else:
return False
def tic_tac_toe():
b = setup_board(3)
run_game(b)
在我看来,将X存储为+1,将O存储为-1可能更有意义,这样您就可以轻松地进行算术来检查游戏是否结束了。在
例如:
感谢Blender提供了以下更简洁的方法:
^{pr2}$检查的正确语法是:
或者(更简洁地说):
^{pr2}$您还缺少一个return,例如:
无论如何,您的代码不会遍历所有行。一种可能的纠正方法是:
在(b)列中执行三个u应该相当容易(更改b[n][column]中的b[row][n]),因此也需要手动检查两条对角线。在
相关问题 更多 >
编程相关推荐