ра для кнопки; CALLBACK WndProcGB (HWND, UINT, WPARAM, LPARAM) - віконна процедура для GroupBox;
У файлі functions.h знаходяться основний функціонал програми.
Далі будуть описані прототипи функцій, що реалізують логічну частину гри: create_field () - створення ігрового поля (попереднє матриці field і fieldMark обнуляються, і виробляється розстановка В«мінВ»);
void setField () - розстановка чисел ідентифікаторів кількості В«мінВ»; функція буде використана тільки після того як будуть расстановлени В«міниВ»;
bool fieldIsClose () - перевірка на В«відкритістьВ» поля. Дана функція використовується при збереженні гри, тобто вона перевіряє, чи була відкрита хоча б один осередок;
void SaveGame () - збереження гри в файл В«save.sapВ». Збереження всіх властивостей і станів ігрового поля і запис їх у файл;
void LoadGame () - завантаження гри з файлу В«save.sapВ»;
void NullStat () - обнуління статистики. Викликається в тому випадку, обнулення статистики проводиться безпосередньо самим користувачем або в тому випадку, коли файл зі статистикою пошкоджений або відсутній;
void SaveStat () - збереження статистики у файл В«stat.sapВ»;
void LoadStat () - завантаження статистики з файлу В«stat.sapВ»;
void StatWin () - запис в статистику при виграші;
void StatLoss () запис в статистику при програші;
LIST * AddList (LIST * list, BYTE **, BYTE **, HWND **, BYTE, BYTE, BYTE, BYTE, BYTE) - функція додавання стану поля, розмірів поля і кількості непомічених В« мін В»у клітинку двохзв'язной списку; * DelList (LIST * list) - функція видалення раніше записаного стану ігрового поля, у разі якщо перевищено розмір списку, лічильник більше 3;
LIST * Repak (LIST * list, BYTE *** Array1, BYTE *** Array2, HWND *** Array3, BYTE * fieldHeight, BYTE * fieldWidth, BYTE * bombCount, BYTE * countNotBomb, BYTE * bombCountForFlag) - функція витягує останній, записаний у список хід, спрацьовує після натискання клавіші Backspace.
4.2 Реалізація графічної частини програми
У додатку використовуються, крім кнопок-осередків, наступні компоненти:
таймер з інтервалом в 1 секунду - для підрахунку тривалості гри;
лічильник не позначеному В«мінВ».
стандартне меню - для початку нової гри, налаштування гри, перегляду статистики, виходу;
Розмір основного вікна строго залежить від кількості клітин-осередків, тому під час гри змінити його розміри вікна неможливо. У нижній області вікна розташовується знаходиться таймер і лічильник не позначеному В«мінВ». Для уникнення ...