Скачиваний:
5
Добавлен:
03.06.2024
Размер:
806.07 Кб
Скачать
    1. Функция генерация возможных ходов

Блок-схема функции для генерации возможных ходов представлена на рисунке 6.

Рисунок 6 – Блок-схема функции генерация возможных ходов

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

  1. Создание массива с возможными ходами: создается пустой массив positions[], в который потом будут заноситься возможные ходы и который возвращает функция.

  2. Задание дальности хода: установка соответствующего значения дальности хода, для обычных дамок – 2, для дамок – 7.

  3. Цикл по направлениям хода: перебор всех направлений.

  4. Обнуления числа встреченных препятствий: счетчик встреченных препятствий обнуляется при смене направления хода.

  5. Цикл по дальности хода: перебор всех ячеек на текущем направлении хода.

  6. На пути не было препятствий: если счетчик препятствий равен нулю, то далее происходит проверка на возможность ударного хода.

  7. Если препятствий не было: происходит проверка на наличие вражеской шашки и пустой ячейки за ней, если условия выполняются, то этот ход заносится в массив positions[].

  8. Если встречена союзная шашка, происходит переход на следующее направление, так как съесть союзную шашку мы не можем

  9. Если активная шашка является дамкой, на направлении хода встречена вражеская шашка и за ней пусто, то в массив positions[] добавляются все ходы за этой шашкой до встречи препятствия.

  10. Есть ударные ходы: если массив positions[] не пуст, то есть были обнаружены ударные ходы, происходит возвращение полученных ударных ходов и выход из функции.

  11. Если ударных ходов не обнаружено, то происходит проверка на наличие возможных тихих ходов и добавление их в массив positions[] с дальнейшим его возвращением и выходом из функции.

3. ОБОСНОВАНИЕ ВЫБОРА И ОПИСАНИЕ СТЕКА ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ

В разработке компьютерной игры в шашки были использованы следующие технологии:

  1. Pygame для создания графического интерфейса:

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

  1. Использование классов для представления клеток, шашек и игры:

Обоснование: Использование классов делает код более структурированным и обеспечивает объектно-ориентированный подход к разработке. Классы Node и Piece используются для представления клеток и шашек, соответственно, что делает код более читаемым и модульным.

  1. Использование звуковых эффектов:

Обоснование: Звуковые эффекты (звук хода и звук съеденной шашки) добавляют визуальные и звуковые подсказки для пользователя, делая игру более интересной и понятной.

  1. Использование иконок и изображений для шашек:

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

  1. Использование библиотеки numpy для математических операций:

Обоснование: Библиотека numpy предоставляет эффективные средства для выполнения математических операций. В данном коде она используется для определения направления хода и удара, что способствует читаемости и эффективности кода.

4 АРХИТЕКТУРА РАЗРАБАТЫВАЕМОГО ПРИЛОЖЕНИЯ

Архитектура приложения представлена на рисунке 7.

Рисунок 7 – Архитектура разрабатываемого приложения

5 ПРИМЕРЫ РАБОТЫ ПРИЛОЖЕНИЯ

При запуске приложения на экране открывается окно с доской и шашками (Рисунок 8).

Рисунок 8 – Начальное состояние поля

При выборе шашки подсвечиваются ячейки для возможных ходов (Рисунок 9).

Рисунок 9 – Выбор хода

При достижении шашкой противоположной стороны поля, она превращается в дамку, меняется её изображение и правила хода (Рисунок 10).

Рисунок 10 – Ход дамки

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