Legacy Java console checkers project with a Minimax AI and alpha-beta pruning.
Учебный консольный проект шашек на Java с AI на Minimax и alpha-beta pruning.
EN: This repository is kept as a historical learning project. The original repository name was CheckerswithMinimaxAI. Before the 2026-06-09 maintenance pass, the original state was preserved as the Git tag codex/pre-refactor-head-2026-06-09.
RU: Репозиторий сохранен как исторический учебный проект. Исходное имя репозитория: CheckerswithMinimaxAI. Перед обслуживанием от 2026-06-09 исходное состояние было сохранено Git-тегом codex/pre-refactor-head-2026-06-09.
EN:
- Standard 8x8, 12 vs 12 checkers board model.
- Human player, random AI, and Minimax AI player.
- Console interaction with commands such as
board,rand, and coordinate-based moves. - Regression tests for move validation, captures, promotion, blocked games, and Minimax decisions.
RU:
- Модель доски 8x8 для шашек 12 на 12.
- Игрок-человек, случайный AI и Minimax AI.
- Консольное управление командами
board,randи ходами по координатам. - Регрессионные тесты для валидации ходов, взятий, превращения в дамку, завершения партии без ходов и решений Minimax.
- Java JDK 17+.
- PowerShell for the included test script.
- IntelliJ IDEA is optional; the repository still includes the original
.imlproject file.
Compile and run the console app from the repository root:
javac -d build\classes (Get-ChildItem -Recurse src -Filter *.java).FullName
java -cp build\classes com.company.MainRun the regression tests:
powershell -ExecutionPolicy Bypass -File .\scripts\test.ps1EN:
- Fixed out-of-bounds move generation at board edges.
- Added validation for invalid move coordinates.
- Fixed random-player behavior when no legal moves exist.
- Fixed Minimax terminal scoring and beta updates.
- Minimax simulations now account for forced additional jumps.
- Capture promotion now ends the turn instead of continuing as a newly crowned king.
RU:
- Исправлена генерация ходов на краях доски без выхода за границы массива.
- Добавлена валидация невалидных координат хода.
- Исправлено поведение случайного игрока при отсутствии доступных ходов.
- Исправлены terminal scoring и обновление beta в Minimax.
- Симуляция Minimax теперь учитывает обязательные продолжения цепочки взятий.
- Взятие с превращением в дамку завершает ход, а не продолжает цепочку уже новой дамкой.
- Implement quiescence search so that the AI can better handle the horizon effect.
- Add a JavaFX GUI to simplify manual testing.
- Add an option for enabling/disabling forced jumps.