food.update(snake)
проверяет, сталкивается ли еда с коктейлем, и помещает еду в новое положение.
snake.update(food)
Испытание: змея сталкивается с пищей и добавляет к змею сегмент.
Таким образом, если food.update(snake)
будет выполнено до snake.update(food)
, то змея никогда не будет есть пищу, потому что еда удалена раньше:
food.update(snake)
s >
snake.update(food)
s>
snake.update(food)
food.update(snake)
Змея никогда не находится в том положении, в котором она нарисована, потому что змея вытягивается self.draw_snake()
до того, как ее перемещают self.movement()
.
Вы должны сделать это в следующем порядке:
class Snake(object):
# [...]
def update(self,food):
self.movement()
self.add_segment(food)
self.draw_snake()