|
|
@@ -1,7 +1,7 @@
|
|
1
|
1
|
use std::fmt;
|
|
2
|
2
|
use std::cmp::Ordering;
|
|
3
|
3
|
|
|
4
|
|
-#[derive(Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
|
|
|
4
|
+#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
|
|
5
|
5
|
pub enum Suit {
|
|
6
|
6
|
Clubs,
|
|
7
|
7
|
Diamonds,
|
|
|
@@ -26,7 +26,7 @@ impl Suit {
|
|
26
|
26
|
}
|
|
27
|
27
|
}
|
|
28
|
28
|
|
|
29
|
|
-#[derive(Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
|
|
|
29
|
+#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
|
|
30
|
30
|
pub enum Symbol {
|
|
31
|
31
|
Ace,
|
|
32
|
32
|
Two,
|
|
|
@@ -84,7 +84,7 @@ impl Symbol {
|
|
84
|
84
|
}
|
|
85
|
85
|
}
|
|
86
|
86
|
|
|
87
|
|
-#[derive(Copy, Clone, Eq, PartialEq, PartialOrd)]
|
|
|
87
|
+#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd)]
|
|
88
|
88
|
pub struct Face {
|
|
89
|
89
|
pub suit: Suit,
|
|
90
|
90
|
pub symbol: Symbol,
|
|
|
@@ -93,20 +93,14 @@ pub struct Face {
|
|
93
|
93
|
impl Ord for Face {
|
|
94
|
94
|
fn cmp(&self, face: &Face) -> Ordering {
|
|
95
|
95
|
match self.symbol.cmp(&face.symbol) {
|
|
96
|
|
- Ordering::Equal => {
|
|
97
|
|
- let result = self.suit.cmp(&face.suit);
|
|
98
|
|
- if result == Ordering::Equal {
|
|
99
|
|
- println!("Equal cards!");
|
|
100
|
|
- }
|
|
101
|
|
- result
|
|
102
|
|
- }
|
|
|
96
|
+ Ordering::Equal => self.suit.cmp(&face.suit),
|
|
103
|
97
|
Ordering::Less => Ordering::Less,
|
|
104
|
98
|
Ordering::Greater => Ordering::Greater,
|
|
105
|
99
|
}
|
|
106
|
100
|
}
|
|
107
|
101
|
}
|
|
108
|
102
|
|
|
109
|
|
-#[derive(Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
|
|
|
103
|
+#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
|
|
110
|
104
|
pub enum Trump {
|
|
111
|
105
|
One,
|
|
112
|
106
|
Two,
|
|
|
@@ -185,7 +179,7 @@ impl Trump {
|
|
185
|
179
|
}
|
|
186
|
180
|
}
|
|
187
|
181
|
|
|
188
|
|
-#[derive(Copy, Clone, Eq, PartialEq, PartialOrd)]
|
|
|
182
|
+#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd)]
|
|
189
|
183
|
pub enum Card {
|
|
190
|
184
|
Face(Face),
|
|
191
|
185
|
Trump(Trump),
|