Лабораторная работа №2 Искусственный интеллект игры «Крестики-Нолики»


Download 210.85 Kb.
bet1/3
Sana13.03.2022
Hajmi210.85 Kb.
#604939
TuriЛабораторная работа
  1   2   3
Bog'liq
Laboratoriya2
m-2 Qoshbaqov B Dr-3, emt, Иқтисодиёт 3-курс, Elektronika 2 - raqam, Elektronika 2 - raqam, 2 - raqam 1- topshiriq, Elektronika 5 - raqam, 6-mavzu, 2-amaliy mashgulot, 3-mavzu. Determinantlar va ularning xossalari. (1), 1 Амалий иш, 12-13, 10-sinf-nemis-tili-olimpiada-savollari (1), 11-sinf-nemis-tili-olimpiada-savollari, 11-sinf-yozma-ish

Лабораторная работа №2


Искусственный интеллект игры «Крестики-Нолики».

Блок-схема программы «Крестики-Нолики»


На рисунке 1 Изображена блок-схема игры «Крестики-Нолики». Сначала программа спрашивает игрока, какой буквой он хочет играть: Х или О. После этого, случайным образом выбирается, кто будет ходить первым. В зависимости от того, кто ходит первым, алгоритм разделяется на две ветви.

Рис-1 Блок-схема игры «Крестики-Нолики»
Если первым ходит игрок, то сначала отображается игровое поле и игроку предлагают выбрать клетку, которую он хочет занять. Получив ход игрока, программа проверяет условие его победы. Если оно выполнено, то управление передается блоку с предложением сыграть еще раз. Если игрок не победил, программа проверяет условие паритета (ничья). Если оно выполнено, то управление опять же передается блоку с предложением повторной игры. Если условие паритета не выполнено, то программа передает ход компьютеру.
Ход компьютера выполняется полностью аналогичным образом, с той лишь разницей, что обновлять игровое поле компьютеру не нужно – оно и так в его памяти. И ответный ход выбирается также автоматически, без участия со стороны игрока. После того, как компьютер походил, также проверяются условия его победы и ничьей. Если ни одно из этих условий не выполнено, то ход снова передается игроку.
Так будет продолжаться до тех пор, пока кто-либо не одержит верх. Или не останется свободных клеток для ходов (ничья).
Предпоследний блок спрашивает у игрока, хочет ли он сыграть еще. Если игрок отвечает утвердительно, то управление возвращается к началу программы и вновь спрашивает, какую букву желает использовать игрок. Цикл повторяется. Если же игрок отвечает отрицательно, программа завершается.
Представление игрового поля в виде данных.
Для начала, нам нужно понять, как сохранить данные игрового поля в переменной. На бумаге игровое поле выглядит как сетка 3х3 ячейки, каждая из которых может быть пустой, содержать Х, или содержать О.
В программе «Крестики-Нолики» игровое поле представлено в виде списка строк. Каждая строка будет означать одну из девяти ячеек игрового поля. Чтобы легче запомнить ячейки и привязанные к ним индексы, они расположены точно так же, как цифры на NumPad клавиатуре. Это показано на рисунке ниже.

Рис -2 Соответствие индексов ячеек игрового поля и цифр на NumPad клавиатуры
Строки будут иметь значение ‘Х’ для Х – игрока, ‘O’ для О – игрока и один пробел ‘ ‘ – если ячейка еще не занята.
Если мы сохраним список строк игрового поля в переменной с именем board, то элемент board[7] будет означать верхнюю левую ячейку игрового поля, board[5] будет означать центр игрового поля, а board[4] будет означать левую центральную ячейку поля.
Программа проигнорирует строку с индексом [0] в списке. Игрок должен вводить числа от 1 до 9 включительно.

Download 210.85 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2023
ma'muriyatiga murojaat qiling