git clone https://github.com/wbgxiaosu/xiangqi.git
cd xiangqi
moon check && moon test # 16 个测试全部通过
moon run cmd/main # 查看终端演示
作为依赖使用
moon add wbgxiaosu/xiangqi
let board = @xiangqi.Board::initial()
let mv = board.move_from_chinese("炮二平五").unwrap() // h2e2
let next = board.apply_move(mv)
println(board.move_to_chinese(mv)) // 炮二平五
println(next.to_fen())
moonxiangqi · 中国象棋规则引擎 (Xiangqi Rules Engine in MoonBit)
纯 MoonBit 实现的中国象棋规则引擎,零依赖,可编译到
wasm-gc/js/native全后端。为对弈应用、棋力 AI、教学工具、棋谱处理提供 可靠的基础库。功能特性
炮二平五、马8进7、前车进一等标准记谱的双向转换, 红方中文数字、黑方阿拉伯数字,前/中/后消歧h2e2风格坐标的双向转换快速开始
作为依赖使用
示例输出
设计说明
file0..8 对应 a..i(a 在红方左手),rank0..9 (0 为红方底线,9 为黑方底线),与 ICCS/XiangqiFEN 惯例一致apply_move返回新棋盘,原棋盘不变,便于做搜索树is_attacked从目标格反推攻击子,正确处理 蹩马腿与炮架遮挡路线图
开发
License
Apache-2.0