Crabby
所属分类:编程语言基础
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2016-06-20 23:40:26
上 传 者:
sh-1993
说明: 使用Rust编程语言编写的国际象棋引擎
(Chess Engine written using the Rust programming language)
文件列表:
Cargo.lock (1584, 2016-06-20)
Cargo.toml (200, 2016-06-20)
LICENSE (18047, 2016-06-20)
compile (327, 2016-06-20)
src/ (0, 2016-06-20)
src/_move.rs (2218, 2016-06-20)
src/bitboard.rs (1150, 2016-06-20)
src/board.rs (15311, 2016-06-20)
src/evaluation.rs (9796, 2016-06-20)
src/magics.rs (7442, 2016-06-20)
src/main.rs (412, 2016-06-20)
src/print.rs (2613, 2016-06-20)
src/search.rs (8797, 2016-06-20)
src/table.rs (5298, 2016-06-20)
src/testing.rs (946, 2016-06-20)
src/timer.rs (3214, 2016-06-20)
src/types.rs (1609, 2016-06-20)
src/uci.rs (3517, 2016-06-20)
src/util.rs (3849, 2016-06-20)
test.sh (498, 2016-06-20)
testing/ (0, 2016-06-20)
testing/positions/ (0, 2016-06-20)
testing/positions/performance (10729, 2016-06-20)
testing/positions/perftsuite.epd (10840, 2016-06-20)
# Overview
Crabby is an original UCI chess engine written in the [rust programming language](https://www.rust-lang.org/).
Crabby gets its name from the rust mascot, Ferris the crab.
This project is an experiment to learn a new language and explore chess programming.
I would greatly appreciate all feedback on my progress for both!
# Building
**Crabby currently requires a nightly version of the rust compiler. If there is a compiler error, please try the latest nightly and then finally submit an issue.**
```sh
git clone https://github.com/Johnson-A/Crabby.git
cd Crabby
cargo build --release
./target/release/crabby
```
To make use of native CPU features, as specified in [compile](compile),
```sh
cargo rustc --release -- -C target-feature=+popcnt -C target-cpu=native
```
# Features
* Nega-Max alpha beta pruning
* Iterative deepening
* PVS
* Quiescence Search
* Null move pruning
* Late Move Reduction
* Killer move heuristic
* Static exchange evaluation
* Transposition Table with Zobrist hashing
* Bitboard based representation
* Magic move generation
# Planned
* Aspiration window
* Time manager -> improvements
* PVS or MTD(f) -> improvements
* Piece-square evaluation
* Evaluation -> improvements
* 50 move rule
* Multi-threaded search
* Parameter Optimization
* UCI option parsing and implementation
# Extended UCI Commands
* perft x - Run perft to a depth x
* test move - Run perft on many positions to validate move generation
* test perf - Search to a given depth in many positions to test performance
# Thanks
I'd like to thank the [chess programming wiki](https://chessprogramming.wikispaces.com),
the [talk chess forums](http://www.talkchess.com/forum/index.php), and the open source
[Stockfish engine](https://github.com/official-stockfish/Stockfish) for being great resources.
# Terms
Crabby is licensed under the **GNU General Public License** (GPLv2) as specified in the [LICENSE](LICENSE)
近期下载者:
相关文件:
收藏者: