Python连接四对角检查

2024-09-24 00:24:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在启动代码时遇到问题。我有一个连接4项目为我的编程类,我有一个非常愚蠢的问题。我不懂对角线检查法。他给了我们一个例子,但我真的不明白。在

def CheckForWinner(board, playerName, playerChar):


diagonal = board[2][0] + board[3][1] + board[4][2] + board[5][3]
if playerChar * 4 in diagonal:
    return playerName

它是一个42空间板(7x6)

^{pr2}$

我只是有点难以理解正在检查的东西。我不是要你给我密码。请解释一下。:)


Tags: 项目代码inboardreturnifdef编程
2条回答
1 2 3 4 5 6 7 
 _ _ _ _ _ _ _ 
|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|
|_|_|_|_|W|_|_|
|_|_|_|Z|_|_|_|
|_|_|Y|_|_|_|_|
|_|X|_|_|_|_|_|

x = 2,0
y = 3,1
z = 4,2
w = 5,3

它可能对player1使用1,对player2使用2,所以板看起来像一个数组(注意数组可能是(row)与显示的网格相反)

^{pr2}$

它正在建立一个以对角线形式存储的字符串。例如,如果董事会:

 1 2 3 4 5 6 7 
 _ _ _ _ _ _ _ 
|_|A|_|_|_|_|_|
|_|_|B|_|_|_|_|
|_|_|_|C|_|_|_|
|_|_|_|_|D|_|_|
|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|

然后是下面的一行:

^{pr2}$

将值ABCD赋给变量diagonal,因为它连接了board[2][0]A)、board[3][1]B)等中的字符。。。变成一个字符串:ABCD。在

if语句组成一个由4个字符组成的播放器字符字符串,并检查它是否在diagonal字符串中。例如,如果玩家的角色是X,那么if将计算为检查XXXX是否在ABCD中。如果这是True,它将返回玩家的名字,这意味着他们赢了。在

(当然,在我的例子中,A、B、C和D的实际位置取决于列表中代表董事会的方式)

相关问题 更多 >