Реферат: Программирование игры Змейка

Реферат: Программирование игры Змейка




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































1.ТЕОРЕТИЧНА ЧАСТИНА………………………………….5.
1.1.Постановка задачі………………………………………....5.
2.ПРАКТИЧНА ЧАСТИНА…………………………………...6.
2.1.Архітектура програми…………………………………….6.
2.2.Опис програми………………………………………….....8.
2.3.Контрольний приклад………………………………………
та аналіз результатів машинного експерименту……………13.
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ…………………18.
Центральним поняттям програмування є, безперечно , поняття
алгоритму. З нього починається робота над програмою і від якості алгоритму залежить її успішне створення .Тому вміння програмувати в значній мірі означає розробляти хороші алгоритми і застосовувати вже відомі.
На сьогодні існує велика кількість різноманітних мов програмування, кожна з яких має свої певні переваги та недоліки. В цьому розмаїтті не завжди легко зробити свій вибір на користь якоїсь певної мови програмування .
Для реалізації поставленої задачі вибрано середовище TurboPascal. Алгоритмічна мова Pascal була створена Н.Віртом на початку 70-х років. Завдяки зусиллям розробників ця мова програмування стала потужним інструментом професійних програмістів, не втративши простоти і ясності, властивих цій мові від народження .
Розробник системи TurboPascal – фірма BorlandInternational виникла в 1984 році і за порівняно короткий час неодноразово дивувала користувачів персональних ЕОМ своїми Turbo системами. Було випущено кілька версій Turbo Pascal:3.0,4.0,5.0,5.5,6.0,7.0, Pascal for Windows, Borland Pascal.
Головні особливості середовища TurboPascal:
► широкий спектр типів даних, можливість обробки рядкових та структурних типів даних;
► достатній набір операторів управління розгалуженнями та циклами;
► добре розвинутий апарат підпрограм та зручні конструкції роботи з файлами;
► великі можливості управління усіма ресурсами ПЕОМ;
► різноманітні варіанти стикування з мовою Асемблера;
► підтримка ідей об’єктно—орієнтованого програмування (ООП).
Саме з огляду на ці особливості програмна реалізація курсового проекту було здійснено в середовищі TurboPascal.
Курсовий проект складається зі вступу , двох розділів , висновків , списку використаної літератури , графічної частини та додатків. Текст пояснювальної записки набрано та розрдуковано з використанням текстового редактора Word. Графічна частина виконана з допомогою графічного редактора Visio.
Розробка програми-ігри «Змійка» для курсового проекту. Ідея програми полягає в тому, щоб «змія» могла б переміщатися по екрану за допомогою стрілок ←, ↑, →, ↓ та при набирані очок збільшувалась у довжину, при зіткненні зі своїм «хвостом» завершувалася гра. При завершені гри повинна виводитись підказка – «Завершити гру Y/N?» при натисканні клавіші «Y» гра просить ввести ваше ім’я та записує результати гри під введеним ім’ям в текстовий файл Result
.
dat
. При натисканні клавіші «N» гра розпочинається з початку.
Гра повинна мати меню, в якому вибирається рівень складності гри, або подивитися результати попередніх ігор.
Мета написання курсового проекту — розробкапрограми
-гри «Змійка».

Для реалізації поставленої задачі розроблено програму ZMEJKA.PAS (лістинг програми представлено в додатку 3).
Програма складається з головного блоку та процедур: Menu, Ramka, Symbol, Rezultat, OverRes, GoUp, GoDown, DrawSnake, AddBonus, Kill, Move та модуля CRT.TPU, який забезпечує роботу з клавіатурою та екраном. Модуль CRT.TPU входить в стандартний набір модулів компілятора BorlandPascal 7.0.
Запуск програми здійснити двома способами:
▄ з головного меню інтегрованого середовища BorlandPascal шляхом вибору опції Run (попередньо програма повинна бути завантажена в ОП –F10, File-Open-ZMEJKA.PAS);
▄ з середовища ОС WindowsXPServicesPack 2 шляхом запуску ZMEJKA.EXE.
Програма використовує одинадцять процедур: Menu, Ramka, Symbol, Rezultat, OverRes, GoUp, GoDown, DrawSnake, AddBonus, Kill, Move.
Процедура Menu -
виводить на дисплей меню, котре пропонує користувачеві вибір складності програми-гри та перегляду результатів попередніх ігор. Вибрати пункт меню можна стрілочками клавіатури -↓,↑:
При натисканні стрілочки ↑ або ↓ виконується процедура – GoUp
або GoDown
.
Ці процедури дозволяють переходити по пунктам меню вверх або вниз.
Процедура Ramka – виводить написи меню та малює навколо них рамку.
Процедура Symbol – малює символ на заданій позиції.
Процедура Rezultat – після закінчення гри ця процедура записує результат гри у файл Result.dat, якщо цього файлу не існує він створюється в тій же папці з програмою-грою.
Процедура OverRes – виводить результат з файлу Result.dat на екран, якщо цього файлу не існує, то виводиться надпис «Результатів немає».
Процедура DrawSnake – малює змійку на екрані.
Процедура AddBonus – малює на екрані символи «@» - це символи(бонуси), які «змійка» повинна збирати та поповнює очки.
Процедура Kill – знищує «змійку». Змійка знищується в разу зіткнення зі своїм «хвостом» або при натисканні клавіші Esc.
Процедура Move – задає координати «змійки».
Головний блок програми задає значення змінним, задає початкові координати «змійки» та визначає, яка клавіша керування клавіатурою була натиснута, щоб задати напрямок «змійки».
Блок –схема головного блоку програми представлена в додатку 1.
Програма складена , відкомпільована і відлагоджена в середовищі BolardPascal 7.0.
На початку програми, відповідно до вимог технології програмування, знаходиться вступний коментар до програми , а решта операторів програми мають таке призначення:
002 Підключення зовнішніх модулів Crt( керування дисплеєм та
011-020 Описання глобальних змінних
044 Задає коліри тексту та фону екрану
045 Задає координати курсора клавіатури
049 Встановлення координатів курсора клавіатури
051 Встановлення курсора клавіатури на початок першої стрічки
056 Директива компілятора, вона вимикає автоматичний контроль помилок I/O
058 Директива компілятора, вмикає автоматичний контроль помилок I/O
059 Перевірка чи існує файл, якщо ні, то створюємо його
061 Встановлення координатів курсора клавіатури
064 Запис введенного тексту в змінну типу запис
065-066 Присвоєння значень змінним типу запис
067 Встановлення курсора клавіатури в текстовому файлі на кінець
074-075 Описання змінних в процедурі
078 Директива компілятора, вона вимикає автоматичний контроль помилок I/O
080 Директива компілятора, вмикає автоматичний контроль помилок I/O
082 Задає координати курсора клавіатури
085 Зарезервоване слово «інакше», якщо файл існує
089 Цикл з передумовою, виконується поки не достигне кінця файлу
091-093 Задає координати курсора клавіатури та виводить значення змінних
097 Закінчення умовного оператора «інакше»
098 Цикл з постумовою, повторюється поки не буде натиснута люба клавіша
103 Звернення до процедури Ramka з заданими параметрами
104 Зменшуємо значення змінної MenuSelectна одиницю
105 Умова, якщо MenuSelect<1 , то MenuSelect = 6
106-107 Задає коліри тексту та фону екрану
108 Задає координати курсору клавіатури
109 Виводить текст, який міститься в масиві стрічок MenuItem[MenuSelect]
110-111Задає коліри тексту та фону екрану
112 Задає координати курсору клавіатури (1,1)
116 Звернення до процедури Ramka з заданими параметрами
117 Збільшуємо на одиницю значення змінної MenuSelect
118 Умова, якщо MenuSelect>6 , то MenuSelect= 1
119-120 Задає коліри тексту та фону екрану
121 Задає координати курсору клавіатури
122 Виводить текст, який міститься в масиві стрічок MenuItem[MenuSelect]
123-124Задає коліри тексту та фону екрану
125 Задає координати курсору клавіатури (1,1)
133 Присвоєння значення змінній. Задає довжину змійки
134 Присвоєння значення змінній. Початковий напрямок змійки
135-136 Присвоєння значення змінній. Координати голови змійки
137 Присвоєння значення змінній. Очки
138 Присвоєння значення змінній. Координати курсору клавіатури
140 Звернення до процедури Ramkaз заданими параметрами
141-142 Задає коліри тексту та фону екрану
143 Задає координати курсору клавіатури
144 Виводить текст, який міститься в масиві стрічок MenuItem[MenuSelect]
145-146 Задає коліри тексту та фону екрану
147 Задає координати курсору клавіатури
148- цикл с постумовою. Вмістить в себе умову вибору, яка викконує процедуру - GoUp, якщо була натиснута клавіша клавіатури - ↑, або процедуру GoDown, - якщо була натиснута клавіша клавіатури -↓. Цикл завершується, тоді коли - 154 будуть натиснути клавіші Enterабо Esc.
155 Перевіряє, якщо була натиснута клавіша Esc, відбувається вихід з програми
156- Умова вибору. Перевіряє знащення змінної MenuSelect, та задає за цим
175,177 Задає координати курсору клавіатури
179 Виводить символ змійки в початку стрічки
188 Задає координати курсору клавіатури
199-204 Цикли, перевіряють, щоб бонуси були розміщенні не на самій змійці
206 Задає координати курсору клавіатури
213-218 Присвоєння масиву символів значення
246,248 Задає координати курсору клавіатури
249 Чекає на натиснуту клавішу клавіатури
250 Умова вибору, якщо натиснута клавіша ‘Y’, то продовжуємо гру, якщо була - натиснута клавіша ‘N’, то програма запросить ввести ім’я і запишить - --- 254 результати у файл Result.dat
256 Задає координати курсору клавіатури
261-270 Умова вибору. Визначає направлення змійки за натиснутою клавішею
271- Умови.Якщо змійка виповзає за межі екрану, переводится на початок
275- Цикл перевірки, чи «вкусила» змійка себе за хвіст,якщо так, виконується 278 процедра Kill
279- Цикл перевірки, чи «з’їла» змійка бонус, якщо так, то змійка збільшується в 287 довжині на одиницю, та збільшуються очки
288-294 Цикл. Щоб змійка не «розірвала» свій хвіст.
295 Виконується процедура DrawSnake
297 Задає координати курсору клавіатури
300 Зв’язує файлову змінну з файлом на диску
301 Задає режим відображення тексту на екрані
304 Цикл. Виводить бонуси на екран перед початком гри
305-310 Задає масиву стрічок значення.
311 Задає початкове значення змінній MenuSelect
314-318 Цикл, задає початкові координати змійки,щоб вона не «розбіглася»
320- Цикл з передумовою, перевіряє, яка клавіша була натиснута,та задає
330,334 Задаються координати курсору клавіатури
Лістінг програми представлений в додатку 2, блок—схему головного блоку програми наведено в додатку 1.
та аналіз результатів машинного експерименту.

Для створення довільних виробів використовують відповідні технології. При цьому у поняття технології включаються сукупність виробничих процесів , методів та засобів , які призначені для створення певних видів виробів із зазначеними показниками якості. Одним з найбільш складних і трудомістких етапів технологічного процесу розробки програм є їх відладка. На відладку припадає близько 50% трудомісткості загальних витрат на створення складних комплексів програм. Під відладкою слід розуміти процес , який забезпечує можливість отримання програми, яка буде функціонувати з потрібними характеристиками у заданій області вхідних даних.
- створення сукупності тестових еталонних значень , яким програма повинна відповідати;
- тестування програми з виконанням об’єктного коду і з різними рівнями деталізації: детерміноване , стохастичне та тестування в реальномумасштабі часу;
- розробка модифікації програми з метою включення причин відхилення результатів від еталонних.
Основним методом виявлення помилок при відладці програм є їх тестування. При цьому затрати на тестування для виявлення помилок складають 30%-40% загальних затрат на розробку програм і у значній мірі визначають якість створеного програмного продукту. Ефективність тестування є важливим фактором, який визначає вартість та тривалість розробки складних комплексів програм.
Основною метою тестування для виявлення помилок є виявлення всіх відхилень результатів функціонування програми від еталонних значень. При цьому ставиться задача виявлення максимального числа помилок , які приводять до виникнення помилок. Після цього застосовується тестування для діагностики та локалізації виявлених помилок. На цій стадії найважливішим є точне встановлення місця спотворення програми або даних , яке є причиною відхилення результатів від еталонних даних при тестуванні з метою виявлення помилок. На цьому етапі визначається частина програми , яку слід коректувати (модифікувати). Еефективним є тести , які дозволяють швидко і точно локалізувати помилки.
Після локалізації і усунення виявлених помилок застосовується контрольне тестування. Контрольний приклад для перевірки правильності розробленої програми виконано вручну. Для перевірки роботи програми в нормальних умовах перевіряємо гру на іграбельність-.
Введення ім’я для запису результату у файл
RESULT.
DAT

Перегляд
раніше записаних результатів

Розроблена програма-гра дає можливість добре відпочити після тривалого робочого дня.
Розв’язування задач обчислювального характеру з використанням персональних комп’ютерів має велике практичне значення, оскільки дає можливість значно економити час при виконанні простих , але громістких обчислень. Використання з цією метою готових пакетів прикладних програм для виконання математичних обчислень має певні вади. Ліцензовані пакети прикладних програм мають високу вартість і достатньо високу складність експлуатації. Тому їх використання для розв’язування нескладних задач (а саме такою є сортування масиву) є недоцільним. Надзвичайно важливо вміти самостійно складати прості програми для розв’язування задач обчислювального характеру.
В даному курсовому проекті розроблено і описано програму-гру «Змійка». Для розробки програми вибрано мову Паскаль (середовище BorlandPascal) . Програма розроблена із застосуванням методики процедурного проектування.
Програма відкомпільована з отриманням ехе-файла та відладжена.
Вибір алгоритмічної мови Паскаль для реалізації постановленої задачі повністю виправдав себе.
1.
Т.В. Ковалюк, видавнича група «BHV», 2005- «ОСНОВИ ПРОГРАММУВАННЯ».
012}SnakeX,SnakeY: array[1..4000] of longint;
014}BonusX,BonusY: array[1..40] of longint;
015}DeathX,DeathY: array[1..30] of longint;
019}MenuItem: array[1..6] of string;
020}DTime,ScorePlus,ScoreMinus,MenuSelect,x,y: integer;
{-----------------------------------------------------}
026} writeln('╔═ ЗМЕЙКА 0.1 ══════╗');
040 }writeln('╚═══════════════════╝');
{------------------------------------------------------}
047 } Procedure Symbol(x,y:integer; sym:char);
{------------------------------------------------------}
053 } Procedure Rezultat(var d:res;scr,dl:integer);
059 } IF IOResult<>0 THen rewrite(d);
063 } write('Введить ваше iм`я: ');
{--------------------------------------------------------}
073 } Procedure OverRes(var d:res);
084 }write('Результатiв немає!');end
091 } gotoxy(1,y); write('Iм`я: ',f1.name);
092 } gotoxy(30,y); write('Довжина: ',f1.len);
093 } gotoxy(45,y); write('Oчки: ',f1.scor:5);
{-------------------------------------------------------------------}
105 } IF MenuSelect < 1 THEN MenuSelect:=6;
{------------------------------------------------------}
114 }Procedure GoDown(x,y:integer);
118 }IF MenuSelect > 6 THEN MenuSelect:=1;
{------------------------------------------------------}
{---------------------------------------------------------}
174 }write('Програму разрoбив Матковський Руслан aka Pat');
179 }Symbol(SnakeX[1],SnakeY[1],chr(15));
182 }Symbol(SnakeX[i],SnakeY[i],chr(15));
186 }Symbol(BonusX[i],BonusY[i],chr(64));
{----------------------------------------------------------}
190 }Procedure AddBonus(b:longint);
201 }if ((BonusX[f]=BonusX[b]) and (BonusX[f]<>0) and (BonusY[f]=BonusY[b]) and(BonusY[f]<>0)) THEN Err:=1;
203 }if (SnakeX[f]=BonusX[b]) and (SnakeY[f]=BonusY[b]) THEN Err:=1;
{-----------------------------------------------------------}
221 }for j:=1 to Dlina do Symbol(SnakeX[j],SnakeY[j],c[i]);
232 }write('Програму разрoбив Матковський Руслан aka Pat');
239 }write('╔═══════════════════╗');
243 }write('║ Продовжити(Y/N)? ║');
247 }write('╚═══════════════════╝');
252 }'N','n','Т','т':Rezultat(f,Score,Dlina);
{----------------------------------------------------------}
260 }Symbol(SnakeX[Dlina],SnakeY[Dlina],' ');
277 }If (HeadX=SnakeX[i])and(HeadY=SnakeY[i]) then kill;
281 }if (HeadX=BonusX[i])and(HeadY=BonusY[i]) then
{-----------------------------------------------------------------}
304 }for i:=1 to 40 do addbonus(i);
#72: if Naprav <> 4 then Naprav := 3;{Down}
#80: if Naprav <> 3 then Naprav := 4;{up}
#75: if Naprav <> 1 then Naprav := 2;{Left}
#77: if Naprav <> 2 then Naprav := 1;{Rigth}

Название: Программирование игры Змейка
Раздел: Рефераты по информатике
Тип: реферат
Добавлен 21:35:02 01 июля 2011 Похожие работы
Просмотров: 28
Комментариев: 14
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Реферат: Программирование игры Змейка
Теплоизоляция зданий и сооружений
Дипломная работа по теме Развитие образной памяти у детей среднего дошкольного возраста
Курсовая работа по теме Имиджмейкинг лидера: гендерный аспект (на примере Маргарет Тэтчер и Сильвио Берлускони)
Итоговая Контрольная Работа Часть 2
Отчет Студента По Технологической Практике
Реферат: Роль стратегического менеджмента в современном управление. Скачать бесплатно и без регистрации
Курсовая работа по теме Организация размещения государственных заказов на лекарственные средства и медицинское оборудование на материалах ГЛПУЗ 'Челябинской областной детской клинической больницы'
Реферат по теме Профессиональная этика журналиста
Реферат Образец Для Школьника 3 Класса
Дипломная работа по теме Социальная политика: основные направления и механизм реализации
Аттестационные Работы По Здравоохранению
Обломов Сочинения На Разные Темы
Реферат по теме Динамические структуры данных: двоичные деревья
Курсовая работа по теме Облік довгострокових біологічних активів
Курсовая работа по теме Информационные технологии менеджмента
Дипломная работа по теме Анализ социальных гарантий военнослужащих
Реферат На Тему Предмет Информатики Как Науки
Контрольная работа по теме Государственные символы Российской Федерации и их использование
Магистерские Диссертации Строительство
Курсовая работа по теме Poзpoбка cиcтеми менеджменту в opгaнізaції ВAТ 'ТУP-Кpуїз'
Курсовая работа: Адміністративні правопорушення в галузі охорони природи
Контрольная работа: Развитие психики в филогенезе и онтогенезе
Статья: Огненный столп в древнерусской агиографии: ветхозаветные и новозаветные истоки

Report Page