rithmo-cli is a lightweight console application built on top of the Rithmomachia project.
It provides a playable terminal interface for experimenting with the game engine and validating gameplay features without requiring a graphical user interface.
The CLI is primarily intended for:
- Manual gameplay testing
- Rule validation
- Victory condition verification
- Debugging and development of the Core and Engine modules
The Rithmomachia project is split into multiple modules:
- rithmo-engine → Pure game rules and mathematical computations
- rithmo-core → Turn orchestration, game lifecycle and DTO projections
rithmo-cli→ Console-based user interface
Architecture overview:
CLI → Core → Engine
The CLI currently supports:
- Starting predefined games
- Displaying the board in the terminal
- Listing available player actions
- Executing moves and captures
- Displaying capture justifications
- Detecting victories
- Displaying victory conditions and detailed victory explanations
Example victory output:
Et le gagnant est WHITE !
Conditions de victoire remplies :
- de bien
Raisons de la victoire :
Valeur totale capturée/requise : 36/30
More complex victory configurations are also supported:
Conditions de victoire remplies :
- de corps et de bien
The complete game rules are documented in the Engine repository:
Build the project:
mvn clean packageRun the application:
java -jar target/rithmo-cli.jar
This project is intentionally simple.
It serves as:
- A manual integration test client
- A development playground
- A reference implementation showing how to consume the Core API
The CLI is not intended to be a full-featured user interface.
TBD