-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update README.md and add help text for CLI args
- Loading branch information
Showing
2 changed files
with
27 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,20 @@ | ||
# requin | ||
|
||
A chess program that runs in the CLI. Current plans include coding up all the rules of the game and then building an AI that plays it. | ||
|
||
A chess program that runs in the CLI. It also comes with a chess engine (that is currently not too strong). | ||
|
||
## Design | ||
### Generation of Legal Moves | ||
All possible piece displacements are first generated, then to check if a certain move is legal (i.e. whether it would endanger the king) we try applying the move to the board and if the king is not capturable then the move can be considered legal. | ||
|
||
|
||
### Checks | ||
After applying a move to the board, we check if the player that just moved has a move that captures the enemy king, if so then the last move checks the enemy king. | ||
|
||
### Search | ||
The engine employs a simple evaluation function that takes into account the raw value of pieces and their positional values. To evaluate the principal variation, the engine uses minimax with alpha-beta pruning. | ||
|
||
## How to run? | ||
You have to first install [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) (the Rust package manager). Then, you can compile the program by running | ||
|
||
```bash | ||
cargo build --release | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters