2 releases
0.1.1 | Jan 13, 2024 |
---|---|
0.1.0 | Jan 13, 2024 |
#516 in Math
24KB
573 lines
芬克斯棋库(未完成)
Fenx 是一个用于处理棋局逻辑的 Rust 库。它提供了对 Forsyth-Edwards 记号(FEN)字符串的解析、以代数记号处理棋步等功能的支持。
特性
芬模块
芬模块提供了用于表示 Forsyth-Edwards 记号(FEN)中棋盘位置的 Fen
结构。
Fen
结构
-
构造函数:
Fen::new(board: &str) -> Fen
- 从给定的棋盘位置字符串创建一个新的
Fen
结构。
- 从给定的棋盘位置字符串创建一个新的
-
解析器:
Fen::parse_fen(fen_str: &str) -> Result<Fen, &'static str>
- 将 FEN 字符串解析为
Fen
结构。
- 将 FEN 字符串解析为
-
调试打印:
Fen::debug()
- 用于调试目的打印
Fen
结构内的值。
- 用于调试目的打印
-
棋盘打印:
Fen::print_to_board()
- 将棋盘打印到控制台。
-
棋盘转换:
Fen::boardify() -> String
- 将
Fen
结构转换为表示棋盘的字符串。
- 将
坐标模块
坐标模块提供了用于表示棋盘位置的 Coordinates
结构。
Coordinates
结构
-
构造函数:
Coordinates { x: i8, y: i8 }
- 使用指定的x和y值创建一个新的
Coordinates
结构体。
- 使用指定的x和y值创建一个新的
-
从表示法:
Coordinates::from_notation(notation: Notation) -> Result<Coordinates, &'static str>
- 将
Notation
结构体转换为Coordinates
结构体。
- 将
-
转换为表示法:
Coordinates::to_notation(&self) -> Result<Notation, &'static str>
- 将
Coordinates
结构体转换为Notation
结构体。
- 将
表示法模块
Notation模块提供了用于表示象棋走法的代数表示法的Notation
结构体。
Notation
结构体
-
构造函数:
Notation::new(file: char, rank: char) -> Option<Notation>
- 使用行列值创建一个新的
Notation
结构体。
- 使用行列值创建一个新的
-
从坐标:
Notation::from_coordinates(coordinates: Coordinates) -> Result<Notation, &'static str>
- 将
Coordinates
结构体转换为Notation
结构体。
- 将
-
转换为坐标:
Notation::to_coordinates(&self) -> Result<Coordinates, &'static str>
- 将
Notation
结构体转换为Coordinates
结构体。
- 将
贡献
欢迎对Fenix做出贡献!请在创建pull request之前确保您的代码格式化为cargo fmt
。