Проект посвящён всеми известной игре шашки. Так как существует несчётное количество различных вариаций правил игры, я реализовывал игру по следующим правилам:
- Шашка может ходить на одну клетку "вверх", бить же может как "вверх", так и "вниз".
- При достижении противоположной границы доски шашка становится дамкой.
- Дамка может ходить и бить другие шашки во всех доступных направлениях.
- При наличии доступного взятия вражеской шашки, игрок не обязан брать её, и может сделать обычный ход.
- Игра заканчивается, когда на поле не остаётся шашек одного из игроков или один из игроков выходит из игры.
Для общения между игроками используется подключение через
localhost
.
- Установите Python 3.10.
- Установите библиотеку Pygame (используется для работы с интерфейсом игры).
- Установите библиотеку Socket (используется для общения с сервером).
- Склонируйте репозиторий в удобную Вам директорию.
- С помощью поиска или сочетанием клавиш
Win + R
откройте cmd. - В открывшейся консоли введите
cd "path to repo directory"
, заменив"path to repo directory"
на путь к склонированному проекту. - Перейдите в директорию
server
и введитеmain.py
. - Сервер запущен
Так как игра использует localhost
для общения между игроками, для игры понадобится открыть две консоли и в каждой проделать следующее:
- В консоли введите
cd "path to repo directory"
, заменив"path to repo directory"
на путь к склонированному проекту. - Введите
main.py
.
После запуска игры Вы увидите окно с авторизацией.
В ней необходимо указать свой никнейм и пароль.
Далее у Вас будет выбор либо создать новую игровую комнату, либо ввести номер существующей комнаты и присоединиться к ней.
При нажатии на кнопку Create room
, создаётся пустая комната, в которой на данный момент находитесь только Вы. В правом нижнем углу окна Вы можете увидеть номер комнаты. Это уникальный идентификатор, который можно сказать другу, чтобы он присоединился к Вашей игре.
Для того, чтобы присоединиться к существующей игровой комнате, Вам потребуется уникальный идентификатор комнаты. Его Вам может подсказать человек, создавший эту комнату. Введите этот идентификатор в поле, обозначенное синим прямоугольником, и смело нажимайте кнопку Join room
.
Игра проходит по описанным выше правилам. Выбранная Вами шашка подсвечивается, и показываются возможные варианты хода. Фиолетовыми точками показываются возможные ходы, оранжевыми - возможные взятия.
Справа от доски находятся ники игроков, а также оранжевый индикатор, показывающий игрока, думающего над своим ходом.
Когда игра закончится, игрокам будут показаны результат игры, количество сделанных им ходов, а также время игры.
P.S. Работоспособность игры тестировалась на ОС Windows.