структури, використовуваної в грі
Для оголошення глобальних змінних і структури був створений файл global.h. Вміст цього файлу:
typedef struct {all; win; winCurr; lossCurr; winMax; lossMax; BestTime [10];
} stat;
структура, яка використовується для зберігання статистики; поля даної структури:
all - кількість зіграних ігор;
win - кількість перемог;
winCurr - поточна кількість виграних поспіль ігор;
lossCurr - поточна кількість програних поспіль ігор;
winMax - максимальна кількість виграних поспіль ігор;
lossMax - максимальна кількість програних поспіль ігор;
BestTime - масив з кращими результатами;
typedef struct {* Head;
} LIST;
LIST * list;
Структура для двохзв'язной списку, використовуваного для зберігання станів ігрового поля після кожного, зробленого гравцем ходу.
typedef struct _Element {_Element * Next, * Prev; ** Array1; ** Array2; ** Array3; fieldHeight; fieldWidth;
BYTE bombCount; countNotBomb; bombCountForFlag;
} Element;
Структура, використовувана для зберігання стану ігрового поля та кількості непомічених В«мінВ».
Глобальні змінні:
HWND hWnd - дескриптор основного вікна;
BYTE field [MAX_HEIGHT] [MAX_WIDTH] - матриця, що містить інформацію про клітини-осередках ігрового поля (числа від 0 до 9);
BYTE fieldMark [MAX_HEIGHT] [MAX_WIDTH] - матриця, що містить інформацію про стан осередків ігрового поля, тобто числа 0, 1, 2 або 3 (не відкрите, відкрито, позначено прапором, позначено питанням);
HWND butt [MAX_HEIGHT] [MAX_WIDTH] - матриця дескрипторів кнопок, які є осередками ігрового поля;
HWND hGrBox - дескриптор об'єкта GroupBox;
bool flagEOG - прапор закінчення гри;
BYTE fieldHeight, fieldWidth - висота і ширина ігрового поля відповідно;
BYTE bombCount - кількість В«мінВ»;
BYTE countNotBomb - кількість осередків, вільних від В«мінВ»
BYTE timeCount - кількість секунд;
BYTE bombCountForFlag - кількість В«мін" не помічених прапором;
stat easy, medium, hard - структури, що зберігають статистичну інформацію для кожного з рівнів складності;
static int TimerFlag = 0; - прапор таймера;
Прототипи функцій: CALLBACK WndProcButt (HWND, UINT, WPARAM, LPARAM) - віконна процеду...