Реализация классической игры Реверси (Othello) с веб-интерфейсом и ботом на основе алгоритма альфа-бета отсечения.
- 🎮 Три режима игры:
- Человек против человека
- Человек против бота
- Бот против бота
- 🤖 Три уровня сложности бота:
- Легкий (случайные ходы)
- Средний (алгоритм альфа-бета, глубина 3)
- Сложный (алгоритм альфа-бета, глубина 7)
- 🎯 Подсветка возможных ходов
- ⭐ Выделение наиболее выгодных ходов
- ↩️ Режим просмотра истории ходов
- 📱 Адаптивный дизайн
- React + TypeScript
- Vite
- Axios для HTTP-запросов
- SCSS для стилей
- C++20
- cpp-httplib для HTTP-сервера
- nlohmann/json для работы с JSON
- CMake 3.18 или выше
- C++20 совместимый компилятор
- Node.js 18 или выше
- npm
cd backend
mkdir build
cd build
cmake ..
make
./backend
Сервер запустится на http://localhost:8080
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.