Skip to content

JoelMathewC/rusty-rook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rusty-rook

Rusty Rook is a CLI-based chess game built entirely in Rust. Simply clone the repository and cargo run to get the application running.

Control Flow

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
Loading

About

CLI Chess game built in Rust

Resources

Stars

Watchers

Forks

Contributors

Languages