Skip to content

Repository files navigation

Пояснительная записка

Охота на лис

Для создания данного кода я создала 5 заголовочных файлов.

Первый файл "move.hpp", в котором хранятся две переменные (x, y) для хода. Цель в том, чтобы функции могли вернуть два значения.

Второй файл "result.hpp", в котором находится класс для хранения данных. bool type: если type = true, то foxes_count - сколько лис было найдено (убито); если type = false, то foxes_count - сколько лис находится рядом.

Третий файл "foxes.hpp", в котором находятся коструктор (Для инициализации динамического массива. То есть добавление строк и столбцов по краям для оптимизации игры компьютера. Для инициализации лисового поля. Всем координатам присваивается 0. И, собственно, рандомное заполнение поля лисами), деструктор динамического массива, функция для для дальнейшего движения (она будет использоваться в дальнейшем для того, чтобы компьютер понимал, куда ему оптимальнее идти дальше), и две функции getFieldSize(), getFoxesLeft(), в которых мы возвращаем field_size и foxes_left соответственно.(геттеры на размер поля и оставшихся лисов).

Четвертый файл "computer.hpp", в котором находятся конструктор (для отслеживания состояния клеток игрового поля (отмечены ли они как использованные(used) или выявлены ли поблизости лисы(near_foxes))), деструктор (для очищения used и near_foxes), функция make_move для алгоритма работы компьютера (если лисы пойманы, для всех счётчков лис рядом, уменьшаем их на 1; если получили новый счётчик лис, присваиваем его, и если лис рядом нет - нет смысла ходить туда, где их нет) и функция search, где я использовала библиотеку (для поиска, если нам известна информация, что у какой-то ячейки есть рядом лисы; если пусто то мы извлекаем и удаляем элемент; если нет ходов в приоритете, делаем случайный).

Пятый файл "game.hpp", который содержит две функции. play(), который работает так, чтобы играл пользователь и show(), который позволяет играть компьютеру.

В главной функции "main.cpp" вызывается либо функция play(), либо функция show().

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages