src/cube.rs

changeset 11
933242e0f3b8
parent 10
cd6f6e7defd2
child 12
3b05a8b45b95
equal deleted inserted replaced
10:cd6f6e7defd2 11:933242e0f3b8
50 } 50 }
51 } 51 }
52 } 52 }
53 } 53 }
54 54
55 impl std::fmt::Display for Face {
56 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
57 let s = match *self {
58 F1 => "F1",
59 F2 => "F2",
60 F3 => "F3",
61 F4 => "F4",
62 F5 => "F5",
63 F6 => "F6",
64 };
65 write!(f, "{}", s)
66 }
67 }
55 68
56 impl Face { 69 impl Face {
70 /// Return an aray of all faces
71 pub fn all() -> [Face; 6] {
72 [F1, F2, F3, F4, F5, F6]
73 }
74
57 /// Returns an array of the four faces adjacent to `self` in the 75 /// Returns an array of the four faces adjacent to `self` in the
58 /// order [left, right, down, up] in the `self`-relative unfolding. 76 /// order [left, right, down, up] in the `self`-relative unfolding.
59 pub fn adjacent_faces(&self) -> AdjacentFaces { 77 pub fn adjacent_faces(&self) -> AdjacentFaces {
60 match *self { 78 match *self {
61 F1 => [F3, F2, F4, F5], 79 F1 => [F3, F2, F4, F5],

mercurial