C Алгоритм появления врагов в 2D игре

Я пишу код для GameBoy Advance на C и пытаюсь найти наиболее эффективный способ появления врагов. Игра будет похожа на SpyHunter ( http://en.wikipedia.org/wiki/Spy_Hunter).

Проблема в том, что я не знаю, каким был бы самый эффективный способ случайного появления врагов в верхней части экрана, при котором на экране никогда не должно быть больше 3 или 4 одновременно.

Я думал о создании 4 структур в случайных местах в верхней части экрана и, как только одна из них достигает дна, снова инициализирую их в верхней части и т. Д., Используя случайные позиции, но я не знаю, будет ли это наиболее эффективным алгоритмом.

Как я должен породить врагов?

1 ответ

Решение

Алгоритм, который вы наметили, кажется довольно эффективным.

Вы выделяете память только для тех реальных спрайтов, которые вы хотите иметь на экране. Вам нужно будет отслеживать их положение вниз по экрану, чтобы правильно их отобразить. Как только они за кадром, вы снова используете существующие структуры. Не становится намного лучше, чем это.

Одной из мыслей будет случайная задержка некоторого периода времени после того, как спрайт исчезнет с экрана, прежде чем повторно инициализировать его в случайной позиции в верхней части экрана снова. Это привело бы к некоторой изменчивости.

Другие вопросы по тегам