-1

このプログラムで、特定の値の周囲のグリッド スペースの数を合計しようとすると、「IndexError: list out of range」というエラーが発生し続けます。列と行を遅く開始し、1列と行を早く終了するように設定して、同じ効果を得ようとしました。エラーは具体的には [x+1][y+1] を指しています。

for l in range(loops):
    for x in range(self.width):
        for y in range(self.height):
            neighbors = 0

            if tiles_copy[x-1][y-1] == 1:
                neighbors += 1
            if tiles_copy[x][y-1] == 1:
                neighbors += 1
            if tiles_copy[x+1][y-1] == 1:
                neighbors += 1
            if tiles_copy[x+1][y] == 1:
                neighbors += 1
            if tiles_copy[x+1][y+1] == 1:
                neighbors += 1
            if tiles_copy[x][y+1] == 1:
                neighbors += 1
            if tiles_copy[x-1][y+1] == 1:
                neighbors += 1
            if tiles_copy[x-1][y] == 1:
                neighbors += 1
4

2 に答える 2