Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка ігрової програми "Сапер"

Реферат Розробка ігрової програми "Сапер"





щосекундної перемальовування екрану через перемальовування чисел таймера, вирішено помістити лічильник В«мінВ» і таймер в окремий об'єкт (GroupBox), в якому перемальовування буде виконуватися окремо від усієї ігрової області. p align="justify"> Для відображення статистики гри і для настройки складності, а також для запиту на збереження і завантаження гри були створені ресурси типу Dialog.

У будь-який момент гри гравець може скасувати зроблений ним хід, це можливо в тому випадку якщо до цього було змінено стан поля (відкрита хоча б один осередок), хід буде скасовано при натисканні клавіші Backspace. Якщо ж до натискання клавіші Backspace не було вироблено жодного ходу то ігрове вікно просто перемалюють, не змінюючи свого стану. У грі можна буде повернутися тільки на три ходи. При натисканні клавіші Backspace (у тому випадку якщо список стану ходів не буде порожній) запуститься функція DestroyButtField (), з останньої записаної осередку списку будуть витягнуті всі дані про стан ігрового поля, його розміри і кількість непомічених В«мінВ». Після витягнуті дані присвоїло глобальним змінним відповідає за параметри ігрового поля. За новим значенням буде перебудовано ігрове поле. p align="justify"> Далі будуть наведені прототипи використовуваних функцій з модуля functions.h та їх описи:

void DestroyButtField () - функція видалення всього поля-кнопок

void new_game () - нова гра. Передбачає установку прапора таймера в значення 0, прапора завершення гри в значення false, виклик функції DestroyButtField (), що видаляє всі комірки-кнопки. Після створюється область GroupBox і для його встановлюється адреса віконної процедури. Далі йде створення кнопок, які є ігровими клітинами-осередками, для них також встановлюється адресу віконної процедури. Потім викликається функція create_field (), описана вище, що відповідає за інформаційну частину ігрового процесу. Значенням таймера при цьому присвоюється 0, до здійснення гравцем першого ходу. p align="justify"> void OpenNULLButt (int I, int J) - рекурсивне відкриття області осередків, в суміжних з якими В«мінВ». Зупинка рекурсії відбувається в тому випадку, коли відбувається відкриття кнопки з деяким числом від 1 до 8. I, J - координати кнопки в матріце.OpenALLBomb () - відкриття всіх В«мінВ». Викликається автоматично у випадку проігриша.OpenButtField (int wmID) - відкриття осередку, викликається при натисканні на кнопку. При цьому якщо це перше натискання миші то автоматично запускається таймер. У разі відкриття комірки з числом, яке символізує деяку кількість В«мінВ» у суміжних з даною клітиною осередках, на цю кнопку поміщається картинка з відповідним числом. Якщо відкривається осередок з числом 0, то викликається функція openNULLButt (int I, int J), описана раніше. При цьому стан поля, а також кількість непомічених хв заноситься в клітинку списку. Коли відкривається осередок з В«міноюВ», відбувається відкриття всіх В«мі...


Назад | сторінка 7 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Вірш Тургенєва І.С. "Коли мене не буде"
  • Реферат на тему: Розробка термогенератора, який буде використовувати тепло двигуна для заряд ...
  • Реферат на тему: Аналіз сучасного стану системи автокредитування в російських комерційних ба ...
  • Реферат на тему: Білки злакових. Їх біолого-фізіологічне значення. Порушення травлення, що ...
  • Реферат на тему: Розробка моделі процесу відкриття "Фондюхауса"