Так что это пища для размышлений.
Небольшой отказ от ответственности, я никоим образом не являюсь разработчиком игр и не очень опытным разработчиком.
В более крупной игре вы, возможно, захотите оставить хороший гр asp на что творится где. Теперь предположим, что у нас есть игра, полная сущностей (думайте о сущностях как о вещах, которые вы видите на экране и которые имеют какое-то влияние на игру). Мы хотели бы обновлять все эти сущности в каждом кадре игры. oop.
Сущности могут быть отрисованы, перемещены, проверены коллизии, затронуты вводом игрока, анимированы или другими функциями, необходимыми вашей игре. Порядок, в котором мы это делаем, важен для нашей игры, предположим, что у нас есть список объектов
entities = []
Затем мы могли бы сделать что-то вроде этого, где мы oop пробиваем каждого врага в нашей игре oop en выполняют свою функцию поведения. мы передаем все сущности в функцию check_collision, чтобы сделать этот код более понятным.
Версия 1
entities = []
def game_loop:
while(true):
for entity in entities:
entity.gather_input()
entity.move()
entity.check_collision(entities)
entity.animate()
entity.render()
Теперь посмотрим на это:
Версия 2
entities = []
def game_loop:
while(true):
for entity in entities:
entity.gather_input()
for entity in entities:
entity.move()
for entity in entities:
entity.check_collision(entities)
for entity in entities:
entity.animate()
for entity in entities:
entity.render()
Порядок, в котором мы выполняем сущности, их поведение изменилось. Теперь у нас есть сгруппированное поведение, можно сказать, что мы определили периоды обновления нашей игры oop. Теперь мы знаем, что все движения объектов обновляются, прежде чем мы проверим все их столкновения.
В то время как в версии 1 мы делаем все логические c сначала для 1 объекта, а затем выполняем следующую. Мы можем потерять соответствующие данные в одном кадре, используя Версию 1, потому что 1 объект может двигаться и проверять столкновение там, где ему действительно следовало подождать, пока все объекты не переместятся.
Надеюсь, это может вызвать дополнительные исследования кроличьей норы, которая это игровой дизайн / архитектура.