
ГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Кандидат технических наук |
|
|
|
В.А. Килимник |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ |
ИГРА В ШАШКИ С ДРУГИМ ЧЕЛОВЕКОМ |
по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ |
|
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2023
Содержание
Y
ИГРА В ШАШКИ С ДРУГИМ ЧЕЛОВЕКОМ 0
по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ 0
СОДЕРЖАНИЕ 1
ВВЕДЕНИЕ 3
Цель данной курсовой работы — исследование и реализация компьютерной игры в шашки. Данный проект разрабатывается с использованием языка программирования Python и необходимых библиотек, в частности Pygame, предоставляющей мощные средства для создания игр и визуализации. 3
Игра в шашки была выбрана в качестве темы, поскольку она предоставляет отличный контекст для исследования различных аспектов программирования, таких как обработка пользовательского ввода и логика игры. 3
В ходе работы будет рассмотрено проектирование и реализация игры, а также решение различных технических и алгоритмических задач, возникающих при разработке подобных приложений. Каждый этап создания программы будет детально описан, и будут представлены кодовые примеры для наглядного понимания процесса разработки. 3
Эта курсовая работа представляет собой не только технический аспект программирования, но и возможность вникнуть в процесс создания развлекательного приложения, которое сочетает в себе элементы стратегии и логики. 3
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 4
2 БЛОК – СХЕМЫ МОДУЛЕЙ ПРОГРАММЫ 5
3. ОБОСНОВАНИЕ ВЫБОРА И ОПИСАНИЕ СТЕКА ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ 14
1. Pygame для создания графического интерфейса: 14
Обоснование: Pygame предоставляет простой способ создания 2D игр и графических приложений на языке Python. Он включает в себя необходимые инструменты для обработки событий, отображения изображений и работы с графикой. В данном случае, Pygame используется для реализации графического интерфейса шашек, включая отрисовку доски и шашек. 14
2. Использование классов для представления клеток, шашек и игры: 14
Обоснование: Использование классов делает код более структурированным и обеспечивает объектно-ориентированный подход к разработке. Классы Node и Piece используются для представления клеток и шашек, соответственно, что делает код более читаемым и модульным. 14
3. Использование звуковых эффектов: 14
Обоснование: Звуковые эффекты (звук хода и звук съеденной шашки) добавляют визуальные и звуковые подсказки для пользователя, делая игру более интересной и понятной. 14
4. Использование иконок и изображений для шашек: 14
Обоснование: Загрузка иконок и изображений для шашек улучшает визуальное представление игры, делая ее более привлекательной. Вы также масштабируете изображения для стандартизации их размеров. 14
5. Использование библиотеки numpy для математических операций: 14
Обоснование: Библиотека numpy предоставляет эффективные средства для выполнения математических операций. В данном коде она используется для определения направления хода и удара, что способствует читаемости и эффективности кода. 14
4 АРХИТЕКТУРА РАЗРАБАТЫВАЕМОГО ПРИЛОЖЕНИЯ 14
5 ПРИМЕРЫ РАБОТЫ ПРИЛОЖЕНИЯ 16
6 ВЫВОД 19
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 19
ПРИЛОЖЕНИЕ А 21
СОДЕРЖАНИЕ 1
ВВЕДЕНИЕ 2
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 2
2 БЛОК – СХЕМЫ МОДУЛЕЙ ПРОГРАММЫ 4
2.1 ФУНКЦИЯ СОЗДАНИЕ СЕТКИ 4
2.2 ФУНКЦИЯ ПОЛУЧЕНИЕ КООРДИНАТЫ КЛЕТКИ 5
2.3 ФУНКЦИЯ ПОДСВЕТ ВОЗМОЖНЫХ ХОДОВ 6
2.4 ФУНКЦИЯ СОВЕРШЕНИЕ ХОДА 7
2.5 ФУНКЦИЯ ОБНОВЛЕНИЯ ОТОБРАЖЕНИЯ 9
2.6 ФУНКЦИЯ ГЕНЕРАЦИЯ ВОЗМОЖНЫХ ХОДОВ 11
3 ОБОСНОВАНИЕ ВЫБОРА И ОПИСАНИЕ СТЕКА ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ 13
4 АРХИТЕКТУРА РАЗРАБАТЫВАЕМОГО ПРИЛОЖЕНИЯ 13
5 ПРИМЕРЫ РАБОТЫ ПРИЛОЖЕНИЯ 15
6 ВЫВОД 18
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 19
ПРИЛОЖЕНИЕ А 20
ВВЕДЕНИЕ
Цель данной курсовой работы — исследование и реализация компьютерной игры в шашки. Данный проект разрабатывается с использованием языка программирования Python и необходимых библиотек, в частности Pygame, предоставляющей мощные средства для создания игр и визуализации.
Игра в шашки была выбрана в качестве темы, поскольку она предоставляет отличный контекст для исследования различных аспектов программирования, таких как обработка пользовательского ввода и логика игры.
В ходе работы будет рассмотрено проектирование и реализация игры, а также решение различных технических и алгоритмических задач, возникающих при разработке подобных приложений. Каждый этап создания программы будет детально описан, и будут представлены кодовые примеры для наглядного понимания процесса разработки.
Эта курсовая работа представляет собой не только технический аспект программирования, но и возможность вникнуть в процесс создания развлекательного приложения, которое сочетает в себе элементы стратегии и логики.
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Шашки - это стратегическая настольная игра, которая входит в класс игр на доске. Игра в шашки проводится на квадратной доске, разделенной на клетки. Игроки управляют своими фигурами (шашками), перемещаясь по диагонали по черным клеткам. Целью игры является захват фигур соперника. Шашки предоставляют разнообразные тактические и стратегические возможности.
Правила игры в шашки:
Игровое поле:
Игра в шашки ведется на 64-клеточной квадратной доске, разделенной на черные и белые клетки.
Каждый игрок начинает с 12 фигур, расположенных на черных клетках перед собой.
Движение фигур:
Фигуры ходят по диагонали на одну клетку вперед.
Обычные (не дамки) шашки ходят только вперед, в сторону противника.
Если на пути стоит фигура соперника, и на клетке за ней есть свободное место, фигура может совершить "взятие" и перепрыгнуть через фигуру противника. Фигура противника снимается с доски.
Дамки:
Если шашка достигает последнего ряда доски противника, она становится дамкой. Дамка обозначается символом, и она может двигаться и назад, и вперед по диагонали.
Цель игры:
9. Цель игры - захватить все фигуры соперника, либо лишить его возможности совершать ходы.