Курсовая работа: Программа "Крестики-нолики 5 в ряд на неограниченном игровом поле"
ON_COMMAND(ID_LEVEL_BEG, &CChildView::OnLevelBeg)
ON_COMMAND(ID_LEVEL_AMAT, &CChildView::OnLevelAmat)
ON_COMMAND(ID_LEVEL_PROF, &CChildView::OnLevelProf)
END_MESSAGE_MAP()
BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;
cs.dwExStyle |= WS_EX_CLIENTEDGE;
cs.style &= ~WS_BORDER;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS,
::LoadCursor(NULL, IDC_ARROW), reinterpret_cast<HBRUSH>(COLOR_WINDOW+1), NULL);
srand((unsigned)time( NULL ));
//Начало новой игры
new_game();
return TRUE;
}
//Глобальные переменные
unsigned char** fields;//Игровое поле ( = 0 - ничего нет, = 1 - нолик,
//= 2 - крестик, = 3 - выигравший нолик, = 4 - выигравший крестик
//= 5 - последний поставленный нолик, = 6 - последний поставленный крестик)
float** calc_fields;//Рассчитанное значение оценочной функции
int size_x = 19;//Размер поля по x (19 - по умолчанию)
int size_y = 19;//Размер поля по y (19 - по умолчанию)
int old_size_x = 0;//Старый размер поля по x
int old_size_y = 0;//Старый размер поля по y
int attack_factor = 1; //Коэффициент агрессивности ИИ (1 - по умолчанию)
int valuation_factor = 3;//Оценочный коэффициент (4 - по умолчанию)
bool end_game = false;//Наступил конец игры?