Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая САПЕР.docx
Скачиваний:
45
Добавлен:
27.10.2018
Размер:
560.83 Кб
Скачать

Міністерство освіти та науки України

Науково-навчальний комплекс "Інститут прикладного системного аналізу" при Національному технічному університеті України “КПІ”

Кафедра математичних методів системного аналізу

Курсова робота з курсу: “ Програмування та алгоритмічні мови” на тему: Гра “Сапер”

Керівник Мілявський Ю.Л. виконала студентка

Допущений до захисту _____________ І курсу групи КА-04

Захищено з оцінкою _____________ Гапєєва Н.В.

Залікова книжка № КА-0401

Київ 2011

Зміст

Вступ 3

1. Постановка задачі 4

2. Метод розв’язку 4

3. Алгоритм розв’язку 7

Структурну блок-схему розв’язку задачі наведено на рисунку 3.1. 7

8

Рисунок 3.1 Структурна блок-схема програми 8

4. Опис програмного продукту 8

Всі створені структури даних, змінні, процедури та функції знаходяться в модулях Unit1.pas та Unit2.pas. 8

4.1. Опис головних структур і змінних програми 8

Інформацію про головні змінні та типи програми наведено в таблиці 4.1. 8

Таблиця 2.1 10

4.2. Опис головних процедур та функцій програми 10

Інформацію про основні розроблені процедури та функції наведено в таблиці 4.2. 10

Таблиця 4.2 Процедури та функції програми 11

procedure detect_mine(a,b:integer);forward; 11

procedure open_field(a,b:integer); 11

procedure place_cursor; 11

procedure init; 11

function look_around(a,b:integer):byte; 11

procedure mine_place; 12

procedure set_panel; 12

procedure view_help; 12

5. Опис інтерфейсу 12

Головне вікно програми, зображене на рисунку 5.1, складається з трьох частин: ігрового поля, меню та опціональної довідки. 12

13

6. Результати роботи програмного продукту 15

На рисунках 6.1 – 6.3 представлені результати роботи програми у вигляді скріншотів. 15

Рисунки 6.1 та 6.2 демонструють процеси еволюції різних популяцій клітин при різному масштабі ігрового поля: 15

Список використаної літератури 19

Додаток А. Лістинг програми 20

Вступ

Сапер має свої витоки в ранньому мейнфреймів ігор 1960 і 1970. Ранніх предків Сапер був Ратліфф's Cube Jerimac. Основний стиль гри став популярний сегмент гра-головоломка жанру в 1980-х, з такими назвами, як виробленого ( Quicksilva , 1983), Yomp ( Virgin Interactive , 1983), і куб . Куб змінив невблаганного логіки (або RLogic для стислості), по Конвей, Гонконг, і Сміт, доступних для MS-DOS, як ще в 1985 році; гравець узяв на себе роль приватного в Корпус морської піхоти Сполучених Штатів , забезпечуючи важливе повідомлення США Command Center.

Вибір даної теми ґрунтується на перспективності подальшого розвитку розробки, дослідження та розкриття потенціалу її застосування в різних сферах людської діяльності.

Мета даної роботи – розробка програми популярної логічної гри «Сапер». Користувачем даної гри може бути будь-яка людина, що цікавиться логічними іграми.

Для реалізації даного проекту було обрано середовище програмування Turbo Pascal, як доступний засіб розробки, який повністю відповідає пред’явленим вимогам там поставленій задачі.

1. Постановка задачі

Плоске або об'ємне ігрове поле розділене на суміжні клітинки, деякі з яких «заміновані»; кількість «замінованих» осередків відомо. Метою гри є відкриття всіх осередків, які не містять міни.

Гравець відкриває осередки, намагаючись не відкрити клітинку з міною. Відкривши клітинку з міною, він програє. Міни розставляються після першого ходу, тому програти на першому ж ходу неможливо. Якщо під відкритою осередком міни немає, то в ній з'являється число, що показує, скільки клітинок, що є сусідами з тільки що відкритої, «заміновано» (у кожному варіанті гри сусідство визначається по-своєму); використовуючи ці числа, гравець намагається розрахувати розташування хв, проте іноді навіть в середині і в кінці гри деякі осередки все ж таки доводиться відкривати навмання. Якщо під сусідніми комірками теж немає хв, то відкривається деяка «незамінірованная» область до осередків, в яких є цифри. «Заміновані» осередки гравець може помітити, щоб випадково не відкрити їх. Відкривши всі «незамінірованние» осередки, гравець виграє.

Для реалізації даного програмного продукту була обрана класична модель гри «Сапер», з двовимірним ортогональним ігровим світом. Обрано класичну версію правил.

Розроблений програмний продукт не є вимогливим до програмних та технічних засобів. Мінімальні системні вимоги: процесор Intel Сeleron M 900 MHz, або аналогічний; оперативна пам’ять 5 Mb безпосередньо для програми, 1 Mb вільного місця на жорсткому диску.