Почему я получаю сообщение об ошибке IndexError: list index out of range
в моей игре-пигмеи?
Я делаю простую игру ради сакэ, но когда я добавляю к длине змей каждый раз, когда она ест яблоко, я получаюошибка.
Это функция столкновения
def collision(x1, y1, x2, y2, bsize):
if x2 + bsize >= x1 >= x2:
if y2 + bsize >= y1 >= y2:
return True
return False
Здесь есть яблоко и умереть, если столкнется с самой функцией.
def eat(self): # if it eats the apple
for i in range(self.length):
if collision(apple.x, apple.y, snake.x[i], snake.y[i], apple.width): # entering the variables/coordinates
self.length += 1
apple.x_multiplier = random.randrange(row)
apple.y_multiplier = random.randrange(row)
apple.x = (r_distance * apple.x_multiplier) + 1 # spawning the apple
apple.y = (r_distance * apple.y_multiplier) + 1 # at a new coordinate
def collide(self): # if colide with itself
for i in range(2, self.length):
if collision(snake.x[0], snake.y[0], snake.x[i], snake.y[i], self.width): # enetring the variables/coordinates
self.alive = False # killing the snake