sol_chess/README.md
2025-02-02 00:38:15 +05:30

73 lines
1.4 KiB
Markdown

# Solitaire Chess Puzzle Generator
Goal: Generate 'hard' puzzles.
## Install
- Install Rust from [here](https://www.rust-lang.org/tools/install).
- Run `cargo install --git https://github.com/cool-mist/sol_chess` to install the tool.
- This installs 2 binaries: `sol_chess` and `sol_cli`.
## Usage
- Run `sol_chess` to start a windowed GUI game.
- Run `sol_cli` to start the CLI tool.
## CLI Usage
- Generate a puzzle
```bash
$ sol_cli -g -n 6
Generating a puzzle with 6 pieces with a maximum of 5 solutions
Total attempts: 7
Total pieces placed: 71
Success pieces placed: 42
Total time (ms): 69
♘ . . .
♙ . ♖ .
♔ . ♘ ♙
. . . .
id: 202859896274992
```
- Solve a puzzle by ID, or by board string
```bash
$ sol_cli --solve 202859896274992
$ sol_cli --solve-board N...P.R.K.NP....
♘ . . .
♙ . ♖ .
♔ . ♘ ♙
. . . .
id: 202859896274992
Found 3 solutions
1. RxNc2
2. RxPd2
3. RxKa2
4. RxPa3
5. RxNa4
```
## Heuristics of current algorithm
1. About 6-7 pieces on the board.
2. Select pieces to place based on its weight.
3. Eg: Queen is too powerful, so it has lower weightage.
4. Eg: Knights are confusing. More knights.