Rusty Rook is a CLI-based chess game built entirely in Rust. Simply clone the repository and cargo run to get the application running.
flowchart TD
App[App] --> GUI(GUI)
GUI --> LandingWidget(LandingWidget: Landing Menu)
GUI --> NewGameWidget(NewGameWidget: Accept player names to start a new game)
GUI --> BoardWidget(BoardWidget: Generate the chess board)
BoardWidget --> Engine(GameEngine)
Engine --> EngineStateCheck{Check game state to see if player has won}
EngineStateCheck --> |True| LandingWidget
EngineStateCheck --> |False| UserActionWait(Wait for the player to make their move)
UserActionWait --> |When the player hovers over a tile| HoverMove(Update the coordinates of the cursor)
UserActionWait --> |When the player selects a tile| SelectMove(Compute all possible moves for the selected chess piece)
SelectMove --> |When the player selects the destination tile| PlaceMove(Updates board state to account for the piece move)
PlaceMove --> EngineStateCheck
Engine --> |Board State| Render



