37 个版本 (12 个破坏性更新)
0.13.0 | 2024年1月15日 |
---|---|
0.12.4 | 2023年12月26日 |
0.11.1 | 2023年11月25日 |
0.5.2 | 2023年7月18日 |
0.1.2 | 2021年5月3日 |
#1 in #鲁比克
在 2 crates 中使用
115KB
2.5K SLoC
cubing.rs
cubing.js
中的功能在 Rust 中实现。
结构
有关 Rust 文档,请参阅 https://docs.rs/cubing/latest/cubing/。
在 cubing 下实现了 cubing.js
API 的一个子集
cubing::alg
cubing::kpuzzle
cubing::puzzles
大多数应用程序将使用 str.parse::<Alg>(…)
和 KPuzzle
作为 API 的入口点
use cubing::{alg::parse_alg, puzzles::cube3x3x3_kpuzzle};
pub fn main() {
let kpuzzle = cube3x3x3_kpuzzle();
let default_pattern = kpuzzle.default_pattern();
let input_alg = parse_alg!("R U R' F' U2 L' U' L F U2");
let input_pattern = default_pattern
.apply_alg(&input_alg)
.expect("Input alg is not valid for puzzle.");
println!(
"The following alg {} the puzzle to its original pattern (including center orientation): {}",
if default_pattern == input_pattern { "returns" } else { "does NOT return" },
input_alg,
)
}
开发
此存储库包含 f2lfast
的移植版本,该版本可用于测试功能(尽管它尚未达到全速)
cargo run --example f2lfast -- --scramble "U2 F2 U' L' U L D2 F D2 B' D2 B D2 L2 B L2 F"
使用以下命令运行测试
make test
依赖项
~1.6–2.5MB
~52K SLoC