Я хотел бы просто дать общее объяснение того, как использовать класс и подкласс в pygame?Как работает super() ._ init_ в pygame?
0
A
ответ
0
Держите змею как список ее сегментов/элементов. Каждый элемент сохраняет позицию сегмента (x,y)
. Первый элемент - змеиная головка. то есть.
snake = [(10,10), (11,10), (12,10)]
Когда змея двигается, то вы добавить новое положение головы в начале списка и удалить последний элемент - и змеи/список имеет одинаковую длину.
# new head position
snake.insert(0, (9,10))
# remove tail
snake.pop()
Когда змея что-то ест, вы не удаляете последний элемент из списка. Таким образом, змея длиннее.
# init data
make_longer = False
...
# snake eat sothing
make_longer = True
...
# new head position
snake.insert(0, (9,10))
# remove tail
if make_longer:
# skip removing last element once
make_longer = False
else:
snake.pop()
Если вы хотите сделать больше, чем один элемент, то не удаляйте последний элемент более одного раза.
# init data
make_longer = 0
...
# snake eat sothing
# make_longer = 3
make_longer += 3 # better when snake eats more apples in short time
...
# new head position
snake.insert(0, (9,10))
# remove tail
if make_longer > 0:
make_longer -= 1
else:
snake.pop()
Смежные вопросы
- 1. Как это работает super() и super. в Java
- 2. как работает collide.rect в pygame
- 3. super beFirstResponder не работает
- 4. IntelliJ Super Completion не работает
- 5. java super не работает как ожидалось
- 6. super init больше не работает
- 7. Конструктор Java super() не работает?
- 8. Обнаружение столкновений не работает в pygame
- 9. pygame: pygame.KEYDOWN не работает
- 10. Python-Pygame не работает
- 11. Pygame set_timer() не работает?
- 12. Конструктор классов super() не работает в IE
- 13. Съемка в pygame не работает
- 14. Pygame groupcollide не работает
- 15. Меню pygame не работает?
- 16. Pygame Colliderect не работает
- 17. Pygame screen.blit не работает
- 18. KEYLEFT не работает Pygame
- 19. pygame не работает
- 20. pygame key.set_repeat не работает
- 21. Pygame игра не работает
- 22. Pygame не работает
- 23. Столкновение не работает Pygame
- 24. Pygame Collision не работает
- 25. Pygame inflate не работает
- 26. Pygame Surface.fill() не работает
- 27. Pygame - Меню паузы не работает?
- 28. Как использовать super();
- 29. Как работает ключевое слово super в этом примере?
- 30. Super Navbar в Webview
держать змей в виде списка его сегментов/элементов - каждый элемент сохраняет свое положение - первый элемент - змея. Когда змея движется, вы добавляете новое положение головы в начало списка, и вы удаляете последний элемент, а змея/список имеют одинаковую длину. Когда змея ест что-то, то когда вы не удалите последний элемент из списка. Таким образом, змея длиннее. – furas