Python Pygame获胜的对角移动无效

时间:2018-11-29 17:44:27

标签: python pygame

我已经使用Pygame在python中建立了连接四,但是我现在卡住了。

水平和垂直获胜动作有效,但从左上角到右下角的对角线无效,而从左下角到右上角的对角线有效。我找不到问题。也许有人可以帮助我?

我的代码:

def controleer_winnaar(beurt):

    for x in range(RIJEN - 3):
        for y in range(KOLOMMEN):
            #berekening voor verticaal winnen
            if(bord[x][y] == beurt and bord[x + 1][y] == beurt and bord[x + 2][y] == beurt and bord[x + 3][y] == beurt):
                return True

    for x in range(RIJEN):
        for y in range(KOLOMMEN - 3):
            # berekening voor horizontaal winnen
            if (bord[x][y] == beurt and bord[x][y + 1] == beurt and bord[x][y + 2] == beurt and bord[x][y + 3] == beurt):
                return True

    for x in range(RIJEN - 3):
        for y in range(KOLOMMEN - 3):
            # berekening voor schuin-omhoog winnen
            if (bord[x][y] == beurt and bord[x + 1][y + 1] == beurt and bord[x + 2][y + 2] == beurt and bord[x + 3][y + 3] == beurt):
                return True

    for x in range(RIJEN - 3):
        for y in range(KOLOMMEN - 3):
            # berekening voor schuin-omlaag winnen
            if (bord[x][y] == beurt and bord[x + 1][y - 1] == beurt and bord[x + 2][y - 2] == beurt and bord[x + 3][y - 3] == beurt):
                return True

1 个答案:

答案 0 :(得分:0)

您的循环限制错误:您需要移动起点的矩形,以使列值在正确的范围内:

create index  idx1 on table2 (table1_id, id) 
create index  idx2 on table3 (table2_id, parameter)

在这种情况下,您为for x in range(RIJEN - 3): for y in range(3, KOLOMMEN): # berekening voor schuin-omlaag winnen if (bord[x][y] == beurt and bord[x + 1][y - 1] == beurt and bord[x + 2][y - 2] == beurt and bord[x + 3][y - 3] == beurt): return True y设置了适当的值,该值将到达最远的角,而不是从{{1 }}。