Разработка программы моделирующей игру «Сбей самолет»

Курсовая работа

Содержание

1 Разработка эскизного и технического проектов программы (ГОСТ 19.404-79)
1.1 Введение
1.2 Назначение и область применения
1.3 Технические характеристики
2 Разработка рабочего проекта
2.1 Разработка программы
2.2 Спецификация программы
2.3 Текст программы
2.4 Описание программы
2.5 Тестирование программы
3 Внедрение
Библиографический список

1 Разработка эскизного и технического проектов программы (ГОСТ 19.404-79)

1.1 Введение
Тема: Разработка приложения для Windows, представляющего собой компьютерную игру «Сбей самолет».
Условие задачи:
По экрану летят вражеские самолеты. Цель играющего – сбить их. Пусковая установка находиться в нижней строке экрана. Пусковую установку можно перемещать по строке вперед и назад.

1.2 Назначение и область применения
Необходимо разработать развлекательную программу, представляющую собой игру.
Область применения: досуг программиста. Поскольку ставиться задача разработать приложение для Windows, то использоваться программа может только под управлением ОС Windows.
1.3 Технические характеристики
Постановка задачи
В этой игре самолет игрока будет сбивать вражеские самолеты, летящие слева направо. Высота а так же момент появления вражеского самолета будут определяться с помощью датчика случайных чисел. Сколько появится самолетов – неизвестно: может быть десяток, а может быть – десять тысяч. В этой неопределенности как раз и содержится причина, заставляющая обратиться к динамическому списку организации данных
type
PTargetNode=^TTargetNode;
TTargetNode=record
x,y: integer;
Next: PTargetNode;
end;

Здесь объявляется новый тип PtargetNode указателя на область оперативной памяти, в которой будет храниться запись типа TTargetNode. Информационная часть записи содержит два поля с именами x,y – это координаты «цели». Вторая, ссылочная часть названа Next – в этом поле будет храниться указатель на типовое звено списка. [1,2]
Объявим глобальные переменные s и ss:
var s, ss: PTargetNode;
Переменная s будет указывать на головной элемент будущего списка; а переменная ss — исполнять роль вспомогательного указателя для перемещения по элементам (звеньям) списка.
В самом начале работы программы список пустой, поэтому указатель на головное звено списка установим s := nil;
— Отведем область памяти для нового звена и запишем его адрес в переменную ss с помощью процедуры New: New(ss);
— Сформируем информационную часть нового звена:
ss^.х := значение;
ss^.y := значение;

(значения будут вычисляться в программе).
— Сформируем ссылочную часть нового звена
ss^.Next := s;
Здесь производится настройка указателя нового звена на головное звено списка (на него «показывает» указатель s).
— Новое звено сделаем головным звеном списка
s := ss;

Удаление звена из списка.
Если звено головное (и в этом случае s = ss), производим следующие действия.
— Настроим основной указатель на следующее звено списка (вместо него может оказаться и пустая ссылка nil):
s :=ss^.Next;
— Удалим прежнее головное звено: Dispose(ss);
— Настроим текущий указатель на следующее звено
ss := s;

Если удаляемое звено не головное, то нам удобно будет воспользоваться еще одним вспомогательным указателем s1 типа PTargetNode. В начале работы указатель s1 так же, как и указатель ss, будет настроен на головное звено списка. В дальнейшем указатели sl и ss перемещаются по звеньям списка таким образом, что s1 всегда указывает на предыдущее звено:
s1:=ss;
ss := ss^.Next;

Для удаления звена, на которое указывает текущий указатель ss:
— «Перекидываем» ссылку с предыдущего звена через одно звено вперед, минуя звено, на которое указывает ss:
s1^.Next:= ss^.Next;
— Удаляем текущее звено: Dispose(ss);
— Текущим звеном делаем следующее звено
ss := s1^.Next;
Чтобы удалить все звенья списка организуется цикл для сканирования по всем звеньям:
while s<>nil do // Пока не достигли конца
// списка,
Begin // настраиваем текущий
// указатель
ss:=s; // на головное звено.
s:=ss^.Next; // Основной указатель
// настраиваем на
//следующее звено.
Dispose(ss); // Удаляем текущее звено.
end;

Аналогичным образом осуществляется сканирование по списку для обновления прорисовки «целей» в налете. [3]

Организация входных и выходных данных
Разрабатываемое приложение не предусматривает наличие входных данных, в качестве их программа отслеживает нажатие трех клавиш на клавиатуре, а именно стрелка влево, вправо и вверх. В качестве выходных данных выступает информация о сбитых самолетах, а так же непосредственно игровая графика. Положение на экране самолета игрока, «целей» и лазера игрока. Вся выходная информация отображается на экране формы во время игры и нигде не сохраняется.
Выбор состава технических и программных средств
Среда Delphi позволяет достаточно быстро разрабатывать приложения для Windows. Технические характеристики компьютера: Pentium 100 и выше, объем оперативной памяти не менее 8 Мб, жесткий диск объемом не менее 500Мб. Именно эти параметры создают условия для полноценной работы IDE Delphi 3 и программ, созданных в этой среде. Дополнительных средств (принтер, сканер, дополнительные дисководы и т.д.) не требуется.[4]

Библиографический список

Фаронов В. В. Delphi 4. Учебный курс. -М.: Издательство «Нолидж», 1998.
2. Дарахвелидзе П., Марков Е. Программирование в Delphi 4. — СПб.: БХВ — СПб., 1999.
3. Жуков А. Изучаем Delphi – СПб.:Питер, 2004
4. Юнита 5 «Алгоритмические языки и программирование – система программирования Delphi», Москва 2006.
5. Фаронов В.В. Паскаль и Windows. М., 1995
6. Руководство пользователя. Авторский коллектив. М., 1998
7. Фаронов В.В. Delphi 4. Учебный курс 2. М., 1998
8. Федоров А.Г. Delphi 3 для всех. М., 1998.
9. Культин Н. Delphi 3. Программирование на Object Pascal. Киев, 1998
10. Электронный учебник «Библия Delphi».

Вы можете скачать этот реферат полностью за 150 руб.
* Готовая уникальная работа (копий в интернете нет). Предоставляется как файл (или набор файлов) MS Word .doc, а также (если в наличии) графических приложений .jpg .gif, презентаций .ppt — в виде «как есть» («as is»)

Оплата возможна через платежную систему Web-money или Яндекс.Деньги

Оплатить заказ очень просто!

Пожалуйста, заполните форму ниже и наш оператор свяжется с Вами.

ФИО (обязательно)

Ваш Email (обязательно)

Город (обязательно)

Учебное заведение

Способ оплаты

Ваши вопросы, пожелания

Защита от автоматических рассылок (обязательно)
captcha введите 4 символа


0
Нравится