- •Курсова робота з курсу: “ Програмування та алгоритмічні мови” на тему: Гра “Сапер”
- •1. Постановка задачі
- •2. Метод розв’язку
- •3. Алгоритм розв’язку
- •4. Опис програмного продукту
- •4.1. Опис головних структур і змінних програми
- •4.2. Опис головних процедур та функцій програми
- •5. Опис інтерфейсу
- •6. Результати роботи програмного продукту
- •Додаток а. Лістинг програми
4.2. Опис головних процедур та функцій програми
Інформацію про основні розроблені процедури та функції наведено в таблиці 4.2.
Заголовок |
Формальні параметри |
Призначення |
procedure show_bar(m1,n1,m2,n2:word); |
|
Обраховує кольора та малює кожну клітину |
procedure show_open_bar(m1,n1,m2,n2:word); |
|
|
procedure set_display; |
|
|
procedure set_flag; |
|
Обраховує наступне покоління клітин |
procedure set_number(a,b:integer;k:byte); |
|
Викликає дві попередні процедури |
procedure set_timer; |
A – число, b - модуль |
“Хитрий” модуль для випадку тора |
procedure move_cursor(var p:char); |
|
Обнуляє значення змінних поля |
procedure open; |
FileName – повний шлях до файлу |
|
procedure show_mine; |
FileName – повний шлях до файлу |
|
Таблиця 4.2 Процедури та функції програми
procedure detect_mine(a,b:integer);forward; |
|
|
procedure open_field(a,b:integer); |
|
|
procedure place_cursor; |
|
|
procedure init; |
|
|
function look_around(a,b:integer):byte; |
|
|
procedure mine_place; |
|
|
procedure set_panel; |
|
|
procedure view_help; |
|
|
5. Опис інтерфейсу
Головне вікно програми, зображене на рисунку 5.1, складається з трьох частин: ігрового поля, меню та опціональної довідки.
Рис 5.1 Головне вікно програми
Ігрове поле представляє собою сітку с квадратних клітин. Взаємодія з ігровим полем здійснюється за допомогою миші. Натисканням лівої кнопки миші на мертву клітину її можна зробити живою, правої – мертвою, середньої – перемикнути стан. Пересування миші з затиснутою кнопкою повторює відповідну дію для всіх клітин на шляху курсора. Колір фону (мертвих клітин) – білий. Колір живих клітин або зелений, або залежить від їх віку.
Головне меню програми, зображене на рисунку 5.2, реалізовано єдиною панеллю у верхній частині вікна. В цьому меню знаходяться всі елементи управління ігровим процесом та інтерфейсом гри.
Рис 5.2 Головне меню
Детальну інформацію про елементи меню наведено в таблиці 5.1.
Елемент |
Призначення |
Resize to … |
Кнопка встановлює кількість клітин на ігровому полі та очищає поле. Повзунок справа змінює цю кількість. |
Clear field |
Знищує всі живі клітини |
Age colored mode |
Вмикає та вимикає розфарбовування клітин за віком |
Step |
Виконує крок еволюції |
Stop |
Зупиняє процес еволюції |
Run |
Запускає процес еволюції в автоматичному режимі |
Help |
Відкриває та ховає панель довідки |
Load |
Відкриває діалогове вікно завантаження з файлу. Працює лише з файлами формату GLF |
Save |
Відкриває діалогове вікно збереження до файлу. Працює лише з файлами формату GLF |
Randomize field |
Заповнює ігрове поле випадковим чином |
Clear field |
Очищає ігрове поле |
Torus field Dead borders Alive borders |
Встановлюе відповідний тип ігрового поля: тор, обмежене з мертвими та живими межами |
Таблиця 5.1
Вікно довідки, зображене на рисунку 5.3, містить опис програми та загальні відомості про гру «Життя». За замовчуванням сховане. Може бути відображене натисканням на кнопку ‘Help’. Повторне натискання ховає панель.
Рис 5.3 Вікно довідки