|
|
@@ -7,7 +7,7 @@ pub fn auctions(players: &Vec<game::Player>) -> i32 {
|
|
7
|
7
|
let potentials: Vec<(i32, i32)> = players.iter()
|
|
8
|
8
|
.map(|ref player| (player.id, evaluate_hand_potential(&player.hand)))
|
|
9
|
9
|
.collect();
|
|
10
|
|
- let &(taker_id, _) = match potentials.iter().max_by_key(|&&(id, _)| id) {
|
|
|
10
|
+ let &(taker_id, _) = match potentials.iter().max_by_key(|&&(_, potential)| potential) {
|
|
11
|
11
|
None => panic!("no players"),
|
|
12
|
12
|
Some(x) => x,
|
|
13
|
13
|
};
|
|
|
@@ -33,15 +33,15 @@ pub fn exchange_dog(mut players: &mut Vec<game::Player>,
|
|
33
|
33
|
.iter()
|
|
34
|
34
|
.fold((), |_, &card| {
|
|
35
|
35
|
let to_exchange = match card {
|
|
36
|
|
- card::Card::Trump(_) => true,
|
|
|
36
|
+ card::Card::Trump(_) => false,
|
|
37
|
37
|
card::Card::Face(card::Face { suit: _, symbol }) => {
|
|
38
|
38
|
match symbol {
|
|
39
|
39
|
card::Symbol::Jack | card::Symbol::Knight | card::Symbol::Queen |
|
|
40
|
|
- card::Symbol::King => true,
|
|
41
|
|
- _ => false,
|
|
|
40
|
+ card::Symbol::King => false,
|
|
|
41
|
+ _ => true,
|
|
42
|
42
|
}
|
|
43
|
43
|
}
|
|
44
|
|
- card::Card::Fool => true,
|
|
|
44
|
+ card::Card::Fool => false,
|
|
45
|
45
|
};
|
|
46
|
46
|
if to_exchange {
|
|
47
|
47
|
// Performs the exchange
|