В«ВертольотаВ», двох видів В«Бар'єруВ» і В«БонусаВ»
* Запис у динамічну пам'ять зображень змінюють своє положення на екрані
* Переміщення вертольота по ігровому полю, не залежно від інших об'єктів і вибух при сталкновеніі
* Нарахування бонусних очок і їх використання
* Нарахування ігрових очок і запис в таблицю рекордів.
Також в даному модулі визначено такі процедури і функції:
function game (sd: boolean): word;
function og (a, d: integer): word;
procedure GET;
procedure ni;
procedure start;
procedure tex;
procedure lev (text, text1: string);
procedure vert (a, d: integer; s: byte);
procedure score (kol: integer; nik: string);
procedure ogon (a, d: integer; s: byte);
3. Option.pas-модуль з помшью якого можна включити або виключити звукове супровід
4. Help.pas - модуль, що містить правила гри. p> 5. score . dat - файл, що містить 10 кращих результатів.
В
2. КЕРІВНИЦТВО КОРИСТУВАЧА
ПРАВИЛА ГРИ
Правила цієї гри настільки прості, що не зажадають від гравця ні найменшого напруження при запам'ятовуванні. Однак це не робить гру нудною. p> Гравець управляє гелікоптером "А-308" на борту якого знаходяться вибухові речовини.
Мета гри - проіті найбільша кількість рівнів, при цьому пролетівши максимально можливу відстань.
Гравець з'являється в середині ігрового поля. У верхньому лівому кутку вказується кількість НЕ використаних бонусів. Правіше вказується ім'я гравця, рівень і кількість очок (вважається що при наборі одного очка гравець пролетів один метр).
При наявності бонусу гравець може активувати захисне поле за допомогою якого він зможе пролетіти крізь перешкоди, проте з активованим захисним полем не можна зібрати додаткові окуляри-В«кубикиВ» і за кожен пройдений метр буде забиратися одне бонусне очко. p> При зіткненні з перешкодою вертоліт вибухає і гра закінчується.
Поступово швидкість вертольота збільшується, поки не досягне максимальної швидкості, з якою зможе летіти вертоліт. p> За кожен проліт 500 метрів гравець отримує 35 бонусів. p> За знаходження кубика гравець отримує 500 очок.
Інформацію про поточному кількості очок ви можете знайти в правій частині екрана
В
УПРАВЛІННЯ У ГРІ
Для руху вертольота по ігровому полю використовуються клавіші '↑', 'в†ђ', '↓', 'в†’'. Для активації зашітная поля клавіша 'Пробіл'. Захисне поле відключається при нульовому количистве бонусу або при натисканні будь-якої клавіші. Також вертоліт може різко набрати висоту клавіша 'w' і знизитися клавіша 's'. p> ВИСНОВОК
Завдання, спочатку поставлена ​​мною, виконана. Але завжди є шляху до вдосконаленню. Для цього я намітив комплекс цілей, які в майбутньому постараюся втілити у своїй програмі. Ось вони:
В· Створення супротивників. p> В· створення декількох (трьох) рівнів гри комп'ютера.
В· створення завантажувального ролика.
В· перехід від Dos'а до Windows'у.
В· перехід в 3-d. p> Дуже сподіваюся, що написанням даної я збільшив коло шанувальників цієї чудової гри і привніс невелику лепту в її розвиток.
В
ПРОГРАМИ
ВИХІДНІ КОДИ ПРОЦЕДУР І ФУНКЦІЙ, становить найбільший інтерес
function game (sd: boolean): word;
const left = # 75;
right = # 77;
up = # 72;
down = # 80;
begin
ni;
fon: = 0;
plus: = 0;
yr: = 3;
schet: = 0;
a: = 120; d: = 240;
verx: = 460; niz: = 125;
kk: = 300; ll: = 350; z: = 580; v: = 880; l: = 680; k: = 780;
i: = 980;
ii: = 400;
vv: = 200; zz: = 150;
p: = 0; pp: = 640;
level: = 1;
vert (a, d, 4);
randomize;
get;
och: = '70 ';
begin
tex;
start;
bonn: = random (150) +300;
end;
repeat
setcolor (0);
if (plus <70) and (Ord (t) = 32) then begin
setcolor (12);
outtextxy (50,35, och);
setcolor (red);
str (pl, och); outtextxy (50,35, och);
og (a-3, d-9); plus: = plus +1; end;
pl: = 70-plus;
if ((getpixel (a-2, d) = 0) or (getpixel (a-2, d) = 1)) and ((getpixel (a +43, d +7) = 0) or (Getpixel (a +43, d +7) = 1))
and ((Getpixel (a +26, d +20) = 0) or (getpixel (a +26, d +20) = 1)) and
((getpixel (a +36, d +20) = 0) or (getpixel (a +36, d +20) = +1)) and ((getpixel (a +42, d-7) = 0) or (Getpixel (a +42, d-7) = 1))
and ((Getpixel (a +18, d-7) = 0) or (getpixel (a +18, d-7) = 1)) and
((getpixel (a-1, d-5) = 0) or (getpixel...