我已经使用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
答案 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 }}。