Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.abitu.ru/en2002/closed/viewwork.html?thesises=237
Дата изменения: Fri May 5 15:24:44 2006
Дата индексирования: Tue Oct 2 03:43:02 2012
Кодировка: koi8-r

Поисковые слова: arp 220

Игра Load&Runner была написана с целью привыкания к Windows API и изучения
объектных сред разработки нового типа.
Игра Load&Runner была написана по мотивам не безызвестной Спектрумской игры
Load&Runner 2.
Перспективы: К сожалению вероятно это предельная версия. В ней реализовано
все, что моя скромная фантазия смогла придумать (кроме 3D ядра). Вероятно,
дальше я буду изучать Visual Studio C++ (что писать я решу путем
многократно вызова функции Random у объекта Десятикопеечная_Монетка :-).

Версия 1.4 содержит следующие улучшения:

Откорректирован пользовательский интерфейс.
Добавлена возможность использовать DirectDraw(см. Функции InitDirectX,
UninitDirectX, DrawMapItem, DrawCacheOnScreen, и вызываемые из них -
Главной формы). Что позволяет максимально эффективно использовать
возможности аппаратных средств ускорения, и минимально загружать
центральный процессор. Также поддержка DirectDraw чрезвычайно живуча.
Засечет устранения некоторых недоработок, удалось существенно сократить
размер фильмов.
Несколько боле мелких улучшений, о которых я забыл.
Добавлен новый элемент карты устройство прозрачности.
Добавлен новый элемент карты генератор прозрачности.
Добавлена так называемая "Форточка" то есть при выполнении определенных
действий будет доступно некое улучшение (даже два это документировано).
Примечание: Код активации форточки удален (и форма поддержки тоже). По
этому при компиляции форточка станет не доступной.
Добавлена авто проверка контрольной суммы. Теперь Load&Runner автоматически
проверяет свою контрольную сумму при первой загрузке через 30 дней после
последней проверки. Также он проверяет контрольные суммы у уровней.
В связи с открытием школы был улучшен алгоритм синхронизации. Теперь он
работает на 98/ME Windows, и предположительно на Windows 95.

В связи с тем что Load&Runner не является библиотекой, а является
аппликацией. Описание его кода займет в несколько раз больше чем описание
пользовательского интерфейса. Это значит более 40 страниц. По этому описаны
лишь следующие пункты.

Соглашение по именованию переменных:
В этой программе не использовалось соглашений по именованию переменных, в
связи тем что таковые небыли обнаружены на начальных стадиях разработки.
Использовался лишь пакет по умолчанию:
Слова названия начинаются с большой буквы.
Названия Максимально Информативны - т.е. в большинстве случаев вы просто
можете разделить название на слова и вставить в переводчик (хотя наверно
много Грамматических Ошибок).
Tmp[{Type}] или Temp[{Type}] - Сокращение от Temporary(Временные)
переменные не использующиеся в основном коде нужные лишь временно (например
в ненужных VAR параметрах). Запись вида Tmp Имя Типа, например TmpInteger -
временная переменная типа Integer. Или прост Tmp если в функции она одна.
Cur{Name} - сокращение от Current(текущий) переменная содержащая текущий
обрабатываемый элемент в цикле, или главная переменная обрабатывающей
функции.
Save{Global Name} - Переменная для сохранения глобального значения.
{Function name}Return - Переменная содержащая результат вызова функции для
последующей обработки.


Файлы и объекты:
Файл Unit1 - Основной файл здесь содержится главная форма, а также объект
TPreferences. Также содержит все, что связанно с уровням (Загрузка/Запись,
Поддержка Игры, Графика, DirectDraw, и т.д.).
Класс TРreferences - поддержка параметров при создании читает их из
реестра при удалении записывает их обратно.
Файл UMap и Класс TМap объект содержащий игровые карты.
Файл UPeople - содержит объекты TPeople, TUser, и TAlien.
Класс TPeople - Поддержка базовых характеристик людей. Абстрактный
класс.
Класс TUser - Поддержка характеристик пользователя. Опрос клавиатуры.
Класс TAlien - Поддержка характеристик врагов. AI.
Файл LevelCollection - редактирование коллекций.
Файл Global - Глобальные типы и функции, объект TRecorder, функции подсчета
контрольной суммы.
Класс TRecorder - объектное представление фильма.

Другие файлы просто содержат формы.