Добавил:
Ангел хранитель политеховцев Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УголкиКурсовая(by113).docx
Скачиваний:
0
Добавлен:
23.12.2025
Размер:
889.34 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ им. Р.Е.АЛЕКСЕЕВА

Институт радиоэлектроники и информационных технологий

Кафедра информатики и систем управления

Написать программу, играющую в игру «УГОЛКИ»

(наименование темы проекта или работы)

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по дисциплине

Технология программирования

(наименование дисциплины)

РУКОВОДИТЕЛЬ:

________________ ___Капранов С. Н. __

(подпись) (фамилия, и.,о.)

СТУДЕНТ:

________________

(подпись) (фамилия, и.,о.)

Работа защищена «___» ____________

С оценкой ________________________

Нижний Новгород 2024

Оглавление

Текст задачи 3

Игра Углоки 3

Описание вычисления ОФ 4

Пример расчета ОФ 5

Программный код с комментариями 6

Текст задачи

Написать программу, играющую в игру «Уголки». Разработать оценочную функцию.

Игра Углоки

Уголки — настольная логическая игра на квадратном поле размером 8x8 клеток для двух участников.

Цель игры переставить все свои шашки в дом соперника. Игрок, сделавший это первым, выигрывает. Однако, если второй игрок закончил перестановку в тот же ход, что и первый игрок, то игрокам потребовалось равное количество ходов. В этом случае засчитывается ничья.

Каждый игрок может за один ход переместить одну шашку. Шашки можно перемещать на соседнюю пустую клетку или шашки могут перепрыгивать через свои или чужие шашки. Перепрыгивать и перемещать можно по вертикали и по горизонтали. Прыжки могут быть через одну шашку.

Игра завершается, если выполнено одно из следующих условий:

  • Один из игроков переместил все свои шашки в дом соперника. Этот игрок выиграл игру.

  • Один из игроков всё ещё имеет несколько своих шашек в своём доме и при этом сделал больше чем 40 ходов. Этот игрок проигрывает игру.

  • Игрок также проигрывает игру, если он поставил одну из своих шашек обратно в свой дом после 40-го хода.

  • Игрок также проигрывает если после 80 хода количество его шашек вне дома больше чем у соперника.

Последние два правила предотвращают блокировку игроком клеток в своём доме с целью помешать сопернику переместить свои шашки туда.

Описание вычисления оф

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

Основные элементы, которые могут быть включены в оценочную функцию для игры в уголки:

  1. Позиция шашек: Важно учитывать, где находятся шашки каждого игрока на доске. Шашки, находящиеся ближе к дому соперника, имеют больше шансов на перемещение и достижение победного угла.

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

Из вышесказанного я распределил определенные веса, которые начисляются за игровые ситуации: За нахождение шашки вне своего дома (1 очка), за нахождение шашки у дома противника (2 очка), за нахождение шашки в доме противника (3 очка).

Данная оценочная функция реализована в виде функции EvaluationFunction, которая начисляет очки белой и черной стороне, работает следующим образом:

  1. Начисление очков обеим сторонам за нахождение шашек вне своего дома, реализовано функцией OutsideOfHome;

  2. Начисление очков обеим сторонам за нахождение шашек у дома противника, реализовано функцией CloseToHome;

  3. Начисление очков обеим сторонам за нахождение шашки в доме противника, реализовано функцией InHome;

  4. Вычисление разности очков белых и черных сторон, если результат “-”, то выигрывает черная сторона, если результат “+”, то выигрывает белая сторона