Skip to content

makssent/Checkers-with-client_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Сетевая игра "Шашки" (Клиент-Серверная Архитектура)

Введение

Этот проект представляет собой сетевую игру "Шашки", разработанную в рамках курсовой работы. Основное внимание уделено созданию функциональной и увлекательной онлайн среды для игры в шашки. Игра использует клиент-серверную архитектуру для обеспечения взаимодействия игроков в реальном времени.

Содержание

Особенности

  • Регистрация и авторизация пользователей.
  • Создание и настройка новых игр путём комнат.
  • Ведение партий по правилам классических шашек.
  • Синхронизация состояния игры между двумя и более игроками в режиме реального времени.
  • Ведение системы рейтинга.

Используемые технологии

  • Язык программирования: Python
  • Библиотеки: socket, threading, select, json, pygame
  • База данных: SQLite
  • Операционная система: Linux/Windows

Установка

  1. Установите Python 3.x, если он еще не установлен.
  2. Установите необходимые библиотеки:
    pip install socket threading select json pygame
  3. Клонируйте репозиторий проекта или загрузите его архивом.

Использование

Запуск сервера

  1. Перейдите в директорию с серверным скриптом.
  2. Запустите сервер:
    python server.py
  3. После запуска сервера вы увидите сообщение: "Сервер запущен, ожидаем подключения..."

Запуск клиента

  1. Откройте клиентский скрипт:
    python user_activity_with_server.py
  2. Выполните авторизацию или регистрацию (если у вас еще нет аккаунта).
  3. Выберите один из пунктов меню: "Начать Игру", "Просмотр Комнат" чтобы стартануть поиск соперника или "Топ Игроков" чтобы посмотреть игровой рейтинг

Основной игровой процесс

  • Делайте ходы, кликая по ячейкам доски.
  • Цель игры - захватить все шашки соперника или заблокировать его ходы.

Тестирование

Тестирование включает проверку всех функциональных компонентов игры, таких как авторизация, регистрация, создание игровых комнат, синхронизация состояния игры, и завершение игры.

Пример тестирования

  1. Запуск программы:
    • Откроется окно авторизации.
  2. Проверка авторизации:
    • Введите учетные данные (1,1) и нажмите "Login".
    • Должен произойти переход на другое окно или же появиться сообщение об неуспешном входе.
  3. Проверка регистрации:
    • Нажмите "Register" и заполните поля регистрации.
    • Должен произойти переход на другое окно или же появиться сообщение об неуспешной регистрации.
  4. Переход на основное окно:
    • После успешной авторизации откроется основное окно игры.
  5. Начало игры:
    • Нажмите "Начать Игру" и ожидайте подключения соперника.
    • Или же нажмите "Просмотр Комнат" и далее вы можете либо нажать на кнопку "Создать Комнату", чтобы создать собственную комнату для подключения других игроков, или же нажать на элемент в списке комнат и нажать "Войти", чтобы присоединиться к уже существующей игре.
  6. Проверка игрового процесса:
    • Делайте ходы, проверяя корректность синхронизации состояния доски между клиентами.

Примеры:

Окно авторизации

Окно авторизации

Главное меню

Главное меню

Просмотр комнат

Просмотр комнат

Топ игроков

Топ игроков

Ожидание соперника

Ожидание соперника

Ожидание игры

Ожидание игры

Игровое поле

Игровое поле

Ожидание хода противника

Ожидание хода противника

About

Checkers_client-server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages