Python/Pygame - IndexError: список индексов вне диапазона
Я пытаюсь запрограммировать игру тральщика с помощью pygame, и я хочу показать все бомбы, когда нажимаю на одну из них:
bouttonbomb = pygame.image.load("bouttonbomb.jpg").convert()
for x in range(0, nbpixel, cellsize):
for y in range(0, nbpixel, cellsize):
if grille[x][y] == BOMB:
fenetre.blit(bouttonbomb, (x, y))
pygame.display.flip()
но я получил эту ошибку: IndexError: list index out of range
на этой линии:
if grille[x][y] == BOMB:
Так я не понимаю, почему?
1 ответ
Решение
Поскольку range(0, nbpixel, cellsize) is [0, 20, 40, 60, ..., 400]
и вы хотите проверить coordinates [x][y]
затем установить range(0, nbpixel/cellsize)
Таким образом, вы собираетесь обрабатывать каждый индекс ячейки.
bouttonbomb = pygame.image.load("bouttonbomb.jpg").convert()
maxindex = nbpixel/cellsize
for x in range(0, maxindex):
for y in range(0, maxindex):
if grille[x][y] == BOMB:
fenetre.blit(bouttonbomb, (x, y))
pygame.display.flip()