IndexError: список индекса вне диапазона в Pygame - PullRequest
0 голосов
/ 26 мая 2018

Ошибка появляется в последней строке сегмента кода ниже, и я не уверен, почему.Я пытаюсь извлечь урок из видео, которое я нашел в Интернете, с тем же кодом, даже если я проверил несколько раз и, кажется, работает нормально.

class Snake:
    def __init__(self):
        self.position=[50,50]
        self.body=[[100,50], [90.50], [80,50]]
        self.direction = "RIGHT"
        self.changeDirectionTo=self.direction

    def getBody(self):
        return self.body

window=pygame.display.set_mode((500,500))
snake = Snake()

while True:
    for pos in snake.getBody():
        pygame.draw.rect(window, pygame.Color(0,225,0),
                         pygame.Rect(pos[0], pos[1], 10,10))

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

У вас есть один элемент с плавающей точкой вместо двух целых чисел в вашем списке.Измените [90.50] на [90, 50].

self.body=[[100,50], [90.50], [80,50]]
0 голосов
/ 26 мая 2018

Эта вторая часть тела имеет точку вместо запятой, разделяющей 90 и 50, поэтому в позиции pos нет элемента [1].Просто замените точку запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...