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

2) Осуществляется проверка, не закончена ли игра с помощью функции end_analyze.

3) Вычисляется ход компьютера с помощью функции ii.

4) Осуществляется проверка, не закончена ли игра с помощью функции end_analyze.

5) Производится перерисовка окна.

Алгоритм работы функции приведен на рисунке 1 в разделе 5.

int CChildView::end_analyze() – Функция определяет не закончена ли игра, т. е. не составлен ли выигрышный ряд на поле одним из игроков, на основании значений элементов массива fields.

Входные параметры:

Нет.

Возвращаемое значение:

int – реузультат работы, = 1 – игра окончена, = 0 – игра не окончена.

Алгоритм работы:

Для каждой клетки на игровом поле просматриваются соседние клетки по горизонтали, вертикали, вниз и вправо по диагонали. Если в одном из направлений символы во всех клетках на расстоянии до 4 совпадают с символом в текущей клетке, то игра считается выигранной. К значениям найденных клеток в массиве fields прибавляется 2 для отображения выигрышной ситуации в окно.

void CChildView::ii() – Функция расчета очередного хода компьютера.

Входные параметры:

Нет.

Возвращаемое значение:

Нет.

Алгоритм работы:

Функция рассчитывает оценочную функцию для каждой клетки игрового поля, с помощью вызова функции calculate, и заносит рассчитанные значения в массив calc_field. Исходя из значений массива calc_field выбирает очередной ход компьютера.

Алгоритм работы функции приведен в разделе 6.

unsigned long CChildView::calculate(int id,int x,int y) – Расчет оценочной функции для клетки игрового поля, с учетом установки в нее крестика или нолика.

Входные параметры:

int id – определяет какой символ ставится в клетку (= 1 – нолик, = 2 – крестик);

int x – координата x клетки.

int y – координата y клетки.

Возвращаемое значение:

unsigned long – значение оценочной функции.

Алгоритм работы:

Алгоритм работы функции приведен в разделе 6.

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