Python矩阵列和行检查

问题描述 投票:0回答:2

我一直在做动态井字游戏当检查行和列时,我遇到了一个问题。

我所有桌子的拳头看起来像;

size? : 4 #input
  0   1   2   3 
  4   5   6   7 
  8   9  10  11 
 12  13  14  15 
Player 1 plays : 

并且我正在检查列中是否包含X或O's >>

def column_check():
col_winner = None
cx = []
co = []
for i in range(1):
    for j in range(0, game_size ** 2, game_size):
        if matrix[j] == player1:
            cx.append(j)
        elif matrix[j] == player2:
            co.append(j)

if len(cx) == game_size:
    col_winner = player1
elif len(co) == game_size:
    col_winner = player2
return col_winner

我为我工作得很好但是我无法为行检查设置for循环。我尝试了此代码块;

def row_check():
row_winner = None
rx = []
ro = []
for i in range(game_size):
    for j in range(i * game_size, i * game_size + game_size):

        if matrix[j] == player1:
            rx.append(j)
        elif matrix[j] == player2:
            ro.append(j)

if len(rx) == game_size:
    row_winner = player1
elif len(ro) == game_size:
    row_winner = player2

return row_winner

但是它检查矩阵中的所有数字。它应该逐行检查。我该怎么办?

我一直在从事动态井字游戏,当检查行和列时,我遇到了一个问题。我所有桌子的拳头看起来像;尺寸? :4#输入0 1 2 3 4 5 6 7 8 ...

python matrix tic-tac-toe
2个回答
0
投票

我假设您已绑定到column_check()中使用的结构,并且game_zize为4时,您需要连续4个; game_size = 3时为3。我的解决方案是这样的:


0
投票

我写了这样的代码块,它工作得很好。比我想的要简单。

© www.soinside.com 2019 - 2024. All rights reserved.