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

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

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

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

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

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

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

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

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

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

011    [Здоровье]

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

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

054    [Здоровье]

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

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

063    [Здоровье]

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

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

099    [Здоровье]


Новости
Амбициозный HD-ремастер Resident Evil 4 обрёл дату релиза
Официальный релиз Resident Evil 4 HD Project запланирован на 13 июля этого года, но на этом работа над проектом не будет остановлена.
Бесплатная раздача The Walking Dead: A New Frontier для ПК
The Walking Dead: A New Frontier была создана по мотивам комикса Роберта Киркмана «Ходячие мертвецы», а её разработчиком и издателем является известная компания Telltale Games.