Курсовая работа: Программа "Крестики-нолики 5 в ряд на неограниченном игровом поле"

Входные данные:

1) Размер игрового поля (10x10, 19x19, 30x30, 50x50 или 100х100) – задается из главного меню программы.

2) Уровень игры компьютера (новичок, любитель или профессионал) – задается из главного меню программы.

3) Очередность первого хода (человек, компьютер).

4) Координаты щелчка левой кнопкой мыши по игровому полю (x,y) – координаты очередного хода.

Выходные данные:

1) Игровое поле, заполненное крестиками и ноликами, отображаемое на экран.

2) В случае выигрыша одного из игроков, отображение выигрышной последовательности и соответствующего сообщения.

4. Описание переменных и функций программы

Функции расчета оценочной функции, состояния игрового поля, обработки нажатия клавиши мыши, вывода игрового поля на экран объявлены в классе представления клиентской области главного окна CChildView.

Объявление класса находится в модуле СhieldView.h. Определения функций и объявления глобальных переменных программы, отвечающих за алгоритм расчета расположены в модуле СhieldView.cpp.

Описание переменных:

unsigned char** fields – Динамический двумерный массив, представляющий игровое поле. Каждый элемент массива представляет клетку на поле. Индексы массива соответствуют положению клеток на поле.

Элемент массива может принимать следующие значения:

0 – клетка пуста;

1 – в клетке нолик;

2 – в клетке крестик;

3 – в клетке нолик, входящий в выигрышный ряд по окончанию игры, служит для выделения другим цветом на поле выигрышного ряда;

4 – в клетке крестик, входящий в выигрышный ряд по окончанию игры, служит для выделения другим цветом на поле выигрышного ряда;

5 – в клетке нолик, поставленный последним ходом, служит для выделения другим цветом на поле последнего хода;

6 – в клетке крестик, поставленный последним ходом, служит для выделения другим цветом на поле последнего хода;

float** calc_fields – Динамический двумерный массив, представляющий значение оценочной функции для каждой клетки игрового поля.

int size_x – Размер игрового поля по х, по умолчанию равен 19.

int size_y – Размер игрового поля по y, по умолчанию равен 19.

int old_size_x – Предыдущий размер игрового поля по x, используется при изменении размеров игрового поля.

int old_size_y – Предыдущий размер игрового поля по y, используется при изменении размеров игрового поля.

int attack_factor – Коэффициент агрессивности игры компьютера, используется при расчете оценочной функции. При меньшем значении данного параметра компьютер играет более атакующе. По умолчанию равен 1 для игрока уровня эксперт.

int valuation_factor – Коэффициент, используемый при расчете оценочной функции. По умолчанию равен 3.

bool end_game – Установка данной переменной в значение true обозначает конец игры. Дальнейшие щелчки мышью по игровому полю не воспринимаются до старта новой игры. Начальное значение – false.

К-во Просмотров: 1553
Бесплатно скачать Курсовая работа: Программа "Крестики-нолики 5 в ряд на неограниченном игровом поле"