Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Подробное описание метода game

РефератПомощь в написанииУзнать стоимостьмоей работы

Метод реализует «искусственный интеллект» компьютера. Игрок всегда будет ходить первым и фишкой — крестик, а компьютер, соответственно, ноликом. В массиве маркер — крестик обозначен цифрой «1», нолик — цифрой «0», пустая клетка — цифрой «2». Алгоритм стратегии игры основывается на оценочной функции. Имеется три двумерных массива: Первый массив chArrPie содержит ходы, как компьютера, так и игрока… Читать ещё >

Подробное описание метода game (реферат, курсовая, диплом, контрольная)

Метод реализует «искусственный интеллект» компьютера. Игрок всегда будет ходить первым и фишкой — крестик, а компьютер, соответственно, ноликом. В массиве маркер — крестик обозначен цифрой «1», нолик — цифрой «0», пустая клетка — цифрой «2». Алгоритм стратегии игры основывается на оценочной функции. Имеется три двумерных массива:

  • 1) chArrPie[i][j]
  • 2) iArrVes0 [i] [j]
  • 3) iArrVesX[i] [j]

Первый массив chArrPie[i] [j] содержит ходы, как компьютера, так и игрока, или, образно говоря, его можно назвать игровой доской ходов. Вторая матрица iArrVes0 [i] [j] содержит текущие ходы фишки — нолик или матрица весов для ноликов, и третья матрица iArrVesX[i] [j], соответственно, текущие ходы фишки — крестик или матрица весов для фишек — крестики.

Изначально каждая ячейка матрицы имеет вес равный нулевому значению. Далее в процессе игры у каждой клетки на вертикали, горизонтали, главной и побочной диагонали изменяется свой вес и, где вес ячейки второй матрицы iArrVes0 [i] [j] наибольший, там ставится соответствующая фишка компьютера, при этом с рядом уже стоящей своей фишкой, таким образом, выстраивая возможный выигрышный ряд из своих фишек. Либо же фишка компьютера ставится, исходя из веса клеток третьей матрицы iArrVesX[i] [j] игрока, таким образом, компьютер блокирует возможный выигрышный ряд игрока.

Данный алгоритм оценивает все четыре выигрышные линии. Далее проверяется выигрышная ситуация игрока и компьютера и, соответственно, если такова существует, то осуществляется вычёркивание пяти подряд стоящих фишек с помощью функции line () для каждой линии.

Также в программе присутствуют члены класса, которые считают победы компьютера — win_comp, игрока — winZnak и ничью — countTie. Все счётчики для игрока отображаются на экране в правом верхнем углу в подменю Start меню Begin, а также вызывается метод сохранения количества побед игрока в любой момент — save (wins_old_nick, win_new_nick) — то есть сохраняются именно победы игрока, которые отображаются в разделе меню Record, при условии, если игрок попал в десятку лучших игроков. За количество побед отвечают два члена класса — wins_old_nick и win_new_nick. Первый — содержит количество побед уже зарегистрированного ника, второй — количество побед нового ника. Значения этих переменных передаются из метода game () в метод save (), таким образом, происходит обновление значений членов. Сохранение побед происходит в файле data. txt (рис. 5.1).

Графический интерфейс игры реализован с помощью стандартных функций графического режима, который инициализируется при помощи функции inilization_graph (). При этом, управление меню происходит с помощью мыши.

Показать весь текст
Заполнить форму текущей работой