#文件格式 #棋盘 #玩家 #com #棋子 #写入器 #解析器

fen4

用于Chess.com的4人棋游戏的fen4文件格式的解析器和写入器

7个版本 (破坏性更新)

0.7.0 2021年5月16日
0.6.0 2021年4月10日
0.5.0 2021年2月26日
0.4.0 2020年12月28日
0.1.0 2020年10月10日

#1594 in 解析器实现


pgn4 中使用

MIT 许可证

43KB
997

fen4

一个用于解析和写入fen4文件格式的Rust库。

这提供了一个从简单的4人棋盘表示到Chess.com使用的fen4文件格式的映射。任何非平凡的计算都可能有一个单独的数据格式,但这个工具会生成有用的错误消息,并且可以正确处理几乎所有的4人棋变体(包括大量的非标准棋子)。

用法

Cargo.toml

[dependencies]
fen4 = "0.7"
fn main(){
    let empty_fen = "R-0,0,0,0-0,0,0,0-0,0,0,0-0,0,0,0-0-14/14/14/14/14/14/14/14/14/14/14/14/14/14";
    let board : Result<fen4::Board,fen4::BoardParseError> = empty_fen.parse();
    println!("{}",board.unwrap());
}

Rust版本要求

fen4需要rustc版本1.45或更高。这是为了支持str.strip_prefix;绕过这个要求会将需要支持的情况移回到大约1.32。


lib.rs:

Fen4提供了一个从简单的4人棋盘表示到Chess.com使用的fen4文件格式的映射。

快速入门

Board 结构体是这个crate中重要的类型。所有其他类型都是为了支持Board的所有功能而存在的。获取Board最常见的方式是使用FromStrDefault

let empty_fen = "R-0,0,0,0-0,0,0,0-0,0,0,0-0,0,0,0-0-14/14/14/14/14/14/14/14/14/14/14/14/14/14";
let board :  Result<fen4::Board,fen4::BoardParseError> = empty_fen.parse();
println!("{}",board?);

依赖关系

~295–760KB
~18K SLoC