Курсовая работа: Разработка шахмат на языке программирования Python
Описание
РЕФЕРАТ
Отчет содержит 39 страниц, 4 раздела, 3 рисунка, 20 источников,
ШАХМАТЫ, СОЗДАНИЕ ШАХМАТ, PYTHON, PYGAME, VS CODE, ТЕСТИРОВАНИЕ ПО.
Цель: разработать программное приложение для игры в шахматы на языке Python, которое включает основные правила шахмат, интерфейс для двух игроков и возможность проверки корректности ходов.
Объект исследования: Процесс разработки и реализации настольных интеллектуальных игр.
Предмет исследования: Технологии программирования и алгоритмы, используемые для создания шахматной игры, включая реализацию правил игры, графический интерфейс и взаимодействие пользователей.
Практическая значимость: Практическая значимость работы заключается в создании шахмат, которые проверят опыт программиста в сфере алгоритмов.
Результатом исследования является разработанная на Pygame игра шахматы.
ОГЛАВЛЕНИЕ
1 ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ.. 8
1.1Анализ шахматных систем.. 8
1.2 Требования к программному продукту. 9
2ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА.. 11
2.1 Проектирование архитектуры программного продукта. 11
2.2 Проектирование макетов интерфейса и логики их взаимодействия. 17
3 РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА.. 18
3.1 Описание языка и среды разработки программного продукта. 18
3.2Реализация программного продукта. 20
3.3Тестирование и результат тестовых испытаний приложения. 27
4. АНАЛИЗ КАЧЕСТВА РАЗРАБОТАННОГО ПО.. 28
4.1Используемые стандарты в оценке качества ПО.. 28
4.2Тестирование функций системы.. 31
4.3Перспективы развития программного обеспеченья. 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 37
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
В данной курсовой работе используются следующие термины с соответствующими определениями:
Шахматы | стратегическая настольная игра для двух игроков, играемая на квадратной доске 8x8, где каждый игрок управляет 16 фигурами |
Игровая доска | квадратная поверхность, разделенная на 64 клетки (8x8), на которой размещаются шахматные фигуры |
Фигура | один из игровых элементов в шахматах, включая короля, ферзя, ладью, слона, коня и пешку |
Правила игры | набор предписаний, определяющих, как игроки могут перемещать свои фигуры и как осуществляется игра |
Алгоритм | последовательность действий, используемая для решения задачи или выполнения операции, например, алгоритм проверки шаха и мата. |
Класс | в объектно-ориентированном программировании шаблон для создания объектов, который определяет их свойства и методы |
Метод | функция, определенная внутри класса, которая описывает поведение объектов этого класса. |
Ход | действие игрока, заключающееся в перемещении одной из своих фигур на доске |
Шах | ситуация, когда король одного из игроков находится под угрозой захвата |
Мат | ситуация, когда король находится под шахом и не может сделать ни одного легального хода для его защиты, что приводит к завершению игры. |
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ
AI - Artificial Intelligence (Искусственный Интеллект) - система, способная выполнять задачи, требующие человеческого интеллекта.
GUI - Graphical User Interface (Графический Интерфейс Пользователя) - визуальный интерфейс, позволяющий пользователям взаимодействовать с программой.
OOP - Object-Oriented Programming (Объектно-Ориентированное Программирование) - парадигма программирования, основанная на использовании объектов и классов.
PGN - Portable Game Notation (Переносимая Нотация Игры) - формат для записи шахматных партий, включая ходы и комментарии.
UCI - Universal Chess Interface (Универсальный Шахматный Интерфейс) - протокол для взаимодействия между шахматным движком и графическим интерфейсом.
ELO - система рейтинга, используемая для оценки уровня игры шахматистов.
K - King (Король) - одна из шахматных фигур, цель игры - поставить противника в мат.
Q - Queen (Ферзь) - самая сильная фигура в шахматах, способная двигаться в любом направлении.
R - Rook (Ладья) - фигура, которая движется по вертикали и горизонтали.
B - Bishop (Слон) - фигура, которая движется по диагонали.
N - Knight (Конь) - фигура, которая движется буквой "Г".
P - Pawn (Пешка) - фигура, которая движется вперед на одну клетку, но бьет по диагонали.
Check - Шах - ситуация, когда король находится под угрозой захвата.
Checkmate - Мат - ситуация, когда король находится под шахом и не может сделать ни одного легального хода для его защиты.
ВВЕДЕНИЕ
Актуальность:
Современные технологии программирования активно используются для разработки различных настольных и интеллектуальных игр, включая шахматы. Создание шахмат на языке Python позволяет изучить основы алгоритмизации, объектно-ориентированного программирования и разработку графического интерфейса, что делает тему актуальной для обучения программированию и применения его в практике.
Цель: Разработать программное приложение для игры в шахматы на языке Python, которое включает основные правила шахмат, интерфейс для двух игроков и возможность проверки корректности ходов.
Объект исследования: Процесс разработки и реализации настольных интеллектуальных игр.
Предмет исследования: Технологии программирования и алгоритмы, используемые для создания шахматной игры, включая реализацию правил игры, графический интерфейс и взаимодействие пользователей.
Задачи:
- Изучить правила игры в шахматы и способы их алгоритмической реализации.
- Ознакомиться с основами объектно-ориентированного программирования на языке Python.
- Исследовать возможности библиотеки Pygame для создания графического интерфейса
- Разработать архитектуру программы, включающую модули для представления шахматной доски, фигур и проверки правил игры.
- Реализовать базовый функционал игры, включая расстановку фигур, выполнение ходов и определение окончания игры.
- Провести тестирование приложения, устранить ошибки и оптимизировать код.
Практическая значимость: Практическая значимость работы заключается в создании шахмат, которые проверят опыт программиста в сфере алгоритмов.
Структура и объем работы:
Курсовая работа выполнена на 39 страницах машинописного текста (без приложений). Состоит из введения, 4 разделов и заключения, библиографического списка (20 наименование работ) содержит 3 рисунка, 1 таблица.
Во введении обосновывается выбор темы исследования, её актуальность, сформулированы цель и задачи исследования, определены объект и предмет.
В первом разделе проводится исследование предметной области, анализируется шахматы, уточняются требования для их реализации.
Во втором разделе проводится проектирование программного продукта. Рассматриваются основные потоки данных игры.
В третьем разделе описана программная реализация проекта, которая начинается с созданием проекта на языке программирования Python.
В четвертом разделе рассматриваются вопросы стандартов, используемых в оценке качества, приводится описание результатов тестирования. Формулируются предложения по развитию и сопровождению игры.
В заключении описаны результаты выполнения курсовой работы.