Crates.io | kociemba |
lib.rs | kociemba |
version | 0.5.3 |
source | src |
created_at | 2024-05-14 15:32:41.380594 |
updated_at | 2024-07-01 11:57:03.603041 |
description | crate for solving the 3x3 Rubik's cube with Kociemba's two phase algorithm |
homepage | |
repository | https://github.com/adungaos/kociema |
max_upload_size | |
id | 1239784 |
size | 169,946 |
Herbert Kociemba的The Two-Phase-Algorithm的Rust实现(https://kociemba.org/cube.htm),平均小于19步解决一个3x3的魔方。
PS C:\Projects\kociemba>cargo run -p kociemba-cli solve --facelet "RLLBUFUUUBDURRBBUBRLRRFDFDDLLLUDFLRRDDFRLFDBUBFFLBBDUF" -m 20 -p
⠇ Solving
Solution: R D2 B2 R2 L2 B' U F' D2 R B2 R2 F2 B2 R2 D2 B
Move count: 17
Solve time: 3.163ms
Total time: 3.0156508s
PS C:\Projects\kociemba>cargo run -p kociemba-cli
solving the 3x3 Rubik's cube with Kociemba's two phase algorithm
Usage: kociemba-cli.exe [COMMAND]
Commands:
solve solves the cube using two-phase algorithm
scramble generates scramble
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
PS C:\Projects\kociemba> cargo run -p kociemba-server
Compiling kociemba v0.5.2 (C:\Projects\kociemba)
Compiling kociemba-server v0.5.2 (C:\Projects\kociemba\server)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.13s
Running `target\debug\kociemba-server.exe`
listening on http://127.0.0.1:32125
Solve a cube: http://localhost:32125/solve/
Example: http://localhost:32125/solve/DUUBULDBFRBFRRULLLBRDFFFBLURDBFDFDRFRULBLUFDURRBLBDUDL
Get a scramble: http://localhost:32125/scramble
PS C:\Projects\kociemba\web> trunk serve --open -A ipv4
2024-05-23T13:10:30.611015Z INFO 🚀 Starting trunk 0.20.1
2024-05-23T13:10:30.615589Z INFO 📦 starting build
... ... ...
2024-05-23T13:10:31.230370Z INFO applying new distribution
2024-05-23T13:10:31.234240Z INFO ✅ success
2024-05-23T13:10:31.234359Z INFO 📡 serving static assets at -> /
2024-05-23T13:10:31.235899Z INFO 📡 server listening at:
2024-05-23T13:10:31.235972Z INFO 🏠 http://127.0.0.1:8080/
1. 超时机制不是真正的算法执行时间,包括了1.2x秒的数据表加载时间(目前的开发环境)。
2. 多次加载数据表问题。
3. solutions第一个空元素问题。
5. 命令行程序移植。
7. 发布到crates.io。
错误处理。
CubieCube数据结构优化,eo/co合并进入ep/cp,节省空间。
性能优化(multiply_moves 替代 apply_moves等)。
The Rust implementation of Herbert Kociemba's Two-Phase-Algorithm,(https://kociemba.org/cube.htm), to solving a 3x3 Rubik's cube less than 19 moves on average.