Skip to content

reprenter/thereversigame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Реверси (Othello)

Реализация классической игры Реверси (Othello) с веб-интерфейсом и ботом на основе алгоритма альфа-бета отсечения.

Особенности

  • 🎮 Три режима игры:
    • Человек против человека
    • Человек против бота
    • Бот против бота
  • 🤖 Три уровня сложности бота:
    • Легкий (случайные ходы)
    • Средний (алгоритм альфа-бета, глубина 3)
    • Сложный (алгоритм альфа-бета, глубина 7)
  • 🎯 Подсветка возможных ходов
  • ⭐ Выделение наиболее выгодных ходов
  • ↩️ Режим просмотра истории ходов
  • 📱 Адаптивный дизайн

Технологии

Frontend

  • React + TypeScript
  • Vite
  • Axios для HTTP-запросов
  • SCSS для стилей

Backend

  • C++20
  • cpp-httplib для HTTP-сервера
  • nlohmann/json для работы с JSON

Требования

  • CMake 3.18 или выше
  • C++20 совместимый компилятор
  • Node.js 18 или выше
  • npm

Установка и запуск

Backend

cd backend
mkdir build
cd build
cmake ..
make
./backend

Сервер запустится на http://localhost:8080

Frontend

cd frontend
npm install
npm run dev

Приложение будет доступно на http://localhost:5173

Структура проекта

.
├── backend/
│   ├── src/
│   │   └── main.cpp          # Основной код сервера и игровой логики
│   ├── include/              # Заголовочные файлы внешних библиотек
│   └── CMakeLists.txt       # Конфигурация сборки
│
└── frontend/
    ├── src/
    │   ├── pages/
    │   │   └── Game/        # Компоненты игры
    │   └── main.tsx         # Точка входа
    ├── index.html
    └── package.json

Алгоритм бота

Бот использует алгоритм альфа-бета отсечения для выбора оптимального хода. Оценка позиции учитывает:

  • Количество фишек
  • Стратегическую ценность клеток (углы, края и т.д.)
  • Мобильность (количество доступных ходов)
  • Терминальные состояния

Лицензия

MIT License

Автор

reprenter

Copyright © 2025 reprenter. All Rights Reserved.