python tic tac toe获胜条件

python tic tac toe获胜条件,python,Python,我正在为一个tic-tac-toe游戏编写逻辑代码 我已经检查了tic tac toe的所有获胜条件 我现在需要检查这场比赛是否是平局 board_values = [[x, x, x], [None, None, None], [None, None, None]] #the if statement for that winning condition would be if board_values[0][0]=='x' an

我正在为一个tic-tac-toe游戏编写逻辑代码

我已经检查了tic tac toe的所有获胜条件

我现在需要检查这场比赛是否是平局

board_values = [[x, x, x],
                [None, None, None],
                [None, None, None]]
#the if statement for that winning condition would be
if board_values[0][0]=='x' and board_values[1][0] =='x' and board_values[2][0]=='x':
    board.display_message('player x won')

如何编写
if
语句来确定绘图?

您可以间接地这样做。如果棋盘已满,且两名球员均未获胜,则为平局。它将是if-elif-else语句中的else子句

if board_values[0][0] == 'x' and \
   board_values[1][0] == 'x' and \
   board_values[2][0] == 'x':

    board.display_message('player x won')

elif board_values[0][0] == 'o' and \
     board_values[1][0] == 'o' and \
     board_values[2][0] == 'o':

    board.display_message('player o won')

else:
    board.display_message('The game is a draw')
当然,你必须延长所有可能获胜的检查


说到这里,有一种简洁的方法可以对空格进行编码以帮助检查。而不是使用规范

1 2 3 
4 5 6 
7 8 9
将正方形编号为3x3幻方

6 7 2
1 5 9
8 3 4

现在你可以更有效地检查一场胜利:如果一个玩家拥有任意三个加起来15的方块,那就是胜利。使用itertools生成这些3个集合,将其包装在映射(sum())中,并在其中添加检查:您对赢的检查减少为一行复杂的代码。

您可以间接地这样做。如果棋盘已满,且两名球员均未获胜,则为平局。它将是if-elif-else语句中的else子句

if board_values[0][0] == 'x' and \
   board_values[1][0] == 'x' and \
   board_values[2][0] == 'x':

    board.display_message('player x won')

elif board_values[0][0] == 'o' and \
     board_values[1][0] == 'o' and \
     board_values[2][0] == 'o':

    board.display_message('player o won')

else:
    board.display_message('The game is a draw')
当然,你必须延长所有可能获胜的检查


说到这里,有一种简洁的方法可以对空格进行编码以帮助检查。而不是使用规范

1 2 3 
4 5 6 
7 8 9
将正方形编号为3x3幻方

6 7 2
1 5 9
8 3 4

现在你可以更有效地检查一场胜利:如果一个玩家拥有任意三个加起来15的方块,那就是胜利。使用itertools生成这些3个集合,将其包装在映射(sum())中,并在其中添加检查:您对胜利的检查减少为一行复杂的代码。

我将尝试一下。我将尝试一下。