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()
Другие вопросы по тегам