Skip to main content

main/
main.rs

1use min2phase::{random_cube, random_moves, from_moves, solve};
2
3fn main() {
4	println!("Generate a random cube:"); 
5	let cube: String = random_cube();
6	println!("Generated: {}", cube);
7
8	println!("Solve it in 21 moves..."); 
9	let solution: String = solve(&cube, 21);
10	println!("Result: {}", solution); 
11
12	println!("Generate 30 random moves:"); 
13	let moves: String = random_moves(30);
14	println!("Generated: {}", moves);
15
16	println!("Get scrambled cube:"); 
17	let cube: Option<String> = from_moves(&moves);
18	if let Some(cube) = cube {
19		println!("Generated: {}", cube);
20		println!("Solve it in 21 moves..."); 
21		let solution = solve(&cube, 21);
22		println!("Result: {}", solution); 
23	} else {
24		println!("Parse scramble error: {}", moves);
25	}
26/*
27	let n_moves = 100;
28	for _ in 0..100 {
29		let scramble: String = random_moves(n_moves);
30		if let Some(cube) = from_moves(&scramble) {
31			println!("cubie={}", cube);
32			println!("scramble={}", scramble);
33			println!("solution={}", solve(&cube, 20));
34		} else {
35			println!("scramble={}", scramble);
36			println!("move parse error!!");
37		}
38	}
39*/
40}