3个不稳定版本

0.3.1 2024年2月8日
0.3.0 2023年10月21日
0.2.0 2023年9月19日
0.1.0 2023年9月19日

#560 in 数据库接口

MIT许可证

85KB
2K SLoC

bkgm

Build

bkgm是一个多功能的Rust包,旨在简化双陆棋相关的操作,如移动生成、位置解析、标准转换以及实现熊牌和超级双陆棋数据库的完美哈希。它支持传统双陆棋和3子超级双陆棋,并提供了构建双陆棋引擎或API的基础。

示例位置

以下是双陆棋起始位置的视觉表示

Position ID: 4HPwATDgc/ABMA
┌13─14─15─16─17─18─┬───┬19─20─21─22─23─24─┬───┐
│ X           O    │   │ O              X │   │
│ X           O    │   │ O              X │   │
│ X           O    │   │ O                │   │
│ X                │   │ O                │   │
│ X                │   │ O                │   │
│                  │BAR│                  │OFF│
│ O                │   │ X                │   │
│ O                │   │ X                │   │
│ O           X    │   │ X                │   │
│ O           X    │   │ X              O │   │
│ O           X    │   │ X              O │   │
└12─11─10──9──8──7─┴───┴─6──5──4──3──2──1─┴───┘

功能

  • 支持Gnubg位置ID格式。
  • 生成可能位置的能力。
  • 宏用于创建双陆棋和超级双陆棋位置。
  • 实现了双陆棋和超级双陆棋的状态特性。

待办事项

  • 移动生成(下一个可能位置生成已实现)。
  • 移动解析(例如,24/23*/22*/21*)。
  • 提高测试覆盖率。
  • 添加游戏特性,以启用Mat文件。
  • 添加可选规则
  • 改进宏以与酒吧和离场配合工作

参考

依赖项

~225KB