Скачиваний:
8
Добавлен:
03.06.2024
Размер:
806.07 Кб
Скачать

2 Блок – схемы модулей программы

    1. Функция создание сетки

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

Рисунок 1 – Блок-схема функции создать сетку

Функция создает игровую доску для шашек.

  1. Цикл по столбцам: for i in range(columns) перебор столбцов доски.

  2. Цикл по рядам: for j in range(rows) перебор рядов доски.

  3. Создание ячейки: создается ячейка в i столбце и j строке.

  4. Закрашивание ячейки: ячейка закрашивается в соответствующий цвет.

  5. Расстановка шашек: если ячейка закрашена в черный цвет, на неё ставится шашка.

  6. Возврат сетки – возврат сетки в функцию main.

    1. Функция получение координат клетки

Блок-схема функции для получения координат клетки представлена на рисунке 2.

Рисунок 2 – Блок-схема функции получения координат клетки

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

  1. Считывание координат мыши: получение координат клика мыши с помощью метода mouse.get_pos() библиотеки pygame.

  2. Вычисление ряда и столбца клетки: полученные координаты делятся нацело на размер клетки.

2.3 Функция подсвет возможных ходов

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

Рисунок 3 – Блок-схема функции подсвет возможных ходов

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

  1. Смена цвета выбранной ячейки на синий.

  2. Получение возможных ходов: вызов функции generatePotentialMoves().

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

    1. Функция совершение хода

Блок-схема функции для совершения хода представлена на рисунке 4.

Рисунок 4 – Блок-схема функции совершение хода

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

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

  2. Установка шашки на новые координаты и удаление со старых

  3. Проверка на превращение шашки в дамку: Если активная шашка не является дамкой и достигла противоположного края поля, она превращается в дамку.

  4. Ударный ход: если совершенный ход был ударным, происходит удаление съеденной шашки, проигрывание звука с помощью pygame.mixer.Sound.play(eat_sound). Если ход не был ударным, происходит передача хода противнику.

  5. На этом ходе было превращение в дамку: Если на ходе было превращение в дамку, ход передается, если нет – происходит проверка на возможность еще одного ударного хода

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

    1. Функция обновление отображения

Блок-схема функции для обновления отображения представлена на рисунке 5.

Рисунок 5 – Блок-схема функции обновление отображения

Функция производит обновление поля для отображения изменений на поле.

  1. Цикл по строкам: перебор строк

  2. Цикл по ячейкам: перебор каждой ячейки в строке

  3. Обновление ячейки: заново отрисовывается ячейка для корректного отображения ситуации игры на экране

  4. Вывод обновленного поля на экран: с помощью метода display.update() библиотеки Pygame происходит вывод обновленного игрового поля на экран

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