6 个版本
使用旧的 Rust 2015
0.0.5 | 2018年4月3日 |
---|---|
0.0.4 | 2018年3月29日 |
0.0.1 | 2018年2月11日 |
0.0.0 | 2017年10月16日 |
#16 在 #chess-board
每月下载量23次
用于 hexe_bin
1.5MB
5.5K SLoC
(发音为 "Hekseh")
什么是 Hexe?
Hexe 是用 Rust 编写的开源国际象棋引擎。它主要作为一个库编写,具有直接利用该库的可执行文件。此项目分为两个包(crates)
-
[ lib + bin ]
hexe
: 国际象棋引擎本身-
针对 Hexe 的使用场景进行优化
-
包含运行可执行文件所需的所有代码
-
-
[ lib ]
hexe_core
: 国际象棋引擎的构建块-
支持
no_std
构建 -
可以被其他国际象棋程序用于代码重用
-
为什么叫 "Hexe"?
-
"Hexe" 是德语中的女巫。它表示在此项目中使用了魔法位图。
-
它指的是 克拉克第三定律:"任何足够先进的技术都与魔法无法区分。"
-
如果它与鸭子的重量相同... 它是由木头制成的。因此...
特性
此项目的目标是具有以下特性
hexe
- UCI 兼容性
- 渴望窗口
- 迭代加深
- 杀手走法
- 带 Alpha-Beta 剪枝的 Minimax
- 空走启发式算法
- 置换表
- 工作窃取多线程搜索
hexe_core
- 位图和方格到棋子映射的国际象棋棋盘表示
- 查找表和无初始化运行的魔法位图
跨平台兼容性
Hexe 编写为可用于 Rust 编译到的主要平台。 hexe
和 hexe_core
都会自动针对所有 一级平台 进行测试。截至本文写作时,它们是
平台 | 版本 | 位 |
---|---|---|
macOS | 10.7+, 狮子+ | 32/64 |
MinGw/MSVC | Windows 7+ | 32/64 |
Linux | 2.6.18+ | 32/64 |
hexe_core
设计为不需要 Rust 标准库。正因为如此,它与稳定 Rust 编译到的所有平台兼容。
跨语言兼容性
目前以下语言提供了 Hexe 包装器
- Swift
许可证
Hexe 根据 Apache 许可证(版本 2.0)或 MIT 许可证授权,由您选择。
任选其一。
依赖关系
~2.5MB
~51K SLoC