Зальцман М.
Компьютерные игры: как это делается
стр. 185

завершить игру - вот то, что будет отличать вас от тех героев, что начали, но не смогли... Один из моих приятелей, программист, любит повторять: «Завершить игру невозможно, можно лишь прекратить над ней работать». Всегда найдется что-то, что улучшит код, но однажды надо набраться смелости и сказать: «Хватит, он уже достаточно хорош», - и оставить игру в покое.

Я обнаружил один полезный технический прием при работе с Си++, который заключается в использовании массивов вместо динамического выделения памяти всюду, где только можно. Вы можете реализовать любую общую структуру данных (списки, очереди, стеки, кучи, деревья), используя массивы, - для этого достаточно применить индекс массива в качестве указателя. Это сразу же устранит связанные со структурой данных проблемы утечки памяти и, что существенно, среди прочих выгод заставит вас продумать худшие варианты условий выполнения вашей программы.

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

Пример массива:

При использовании указателей и динамического выделения памяти связанный список может выглядеть примерно так:

Содержимое адресов памяти

001    [Указатель на первый элемент (010)]

002    [Указатель на последний элемент (062)]

010    [Указатель на графическое представление объекта]

011    [Здоровье]

012    [Указатель на следующий элемент (053)]

053    [Указатель на графическое представление объекта]

054    [Здоровье]

055    [Указатель на следующий элемент (098)]

062    [Указатель на графическое представление объекта]

063    [Здоровье]

064    [Указатель на NULL (конец списка)]

098    [Указатель на графическое представление объекта]

099    [Здоровье]


Новости
Авторы Just Cause показали новый трейлер Generation Zero
Авторы игры Just Cause из студии Avalanche Studios представили в Сети трейлер нового шутера Generation Zero.
Весь мир RAGE 2 будет доступен для исследования с самого начала
С RAGE 2 разработчики из Avalanche и id Software хотят полностью доверить темп прохождения игрокам: вы сами сможете решать, идти ли строго по сюжету или тратить часы на дополнительные миссии.