有些代码我不太懂,有人能给我解释一下吗
def winner(board):
WAYS_TO_WIN = ((0, 1, 2),
(3, 4, 5),
(6, 7, 8),
(0, 3, 6),
(1, 4, 7),
(2, 5, 8),
(0, 4, 8),
(2, 4, 6))
for row in WAYS_TO_WIN:
if board[row[0]] == board[row[1]] == board[row[2]] != EMPTY:
winner = board[row[0]]
return winner
if EMPTY not in board:
return TIE
return None
这是一种检查董事会状态是否为双赢状态的方法。董事会设有以下指标:
因此,元组in ways to win of(0,1,2)检查第一行是否相同。(0,3,6)元组检查第一列是否完全相同。最后,(0,4,8)检查向下和向右的对角线。它通过您询问的if语句来实现这一点:
例如,在(0,3,6)行中,它查看棋盘索引0,将其与棋盘索引3和棋盘索引6进行比较,如果它们都相等,并且不等于空,那么对于填充这些方格的玩家来说,这是一个获胜的条件。你知道吗
空大概是表示两个玩家都没有在那个方格里放置令牌的令牌,所以:
基本上说,如果董事会是满的,没有人是赢家,那么这是一个平局。你知道吗
相关问题 更多 >
编程相关推荐