diff options
| author | tslil clingman <> | 2020-01-30 21:45:44 -0800 |
|---|---|---|
| committer | tslil clingman <> | 2020-01-30 21:45:44 -0800 |
| commit | 10f615418ebc5cf4a12b82bbcb95a74cbde8c339 (patch) | |
| tree | b2a52731a037a85012d0d1a8e4c10f570ccb14d5 /src/game.rs | |
| parent | 5f2bdc5c15cb5fcd12bff1787a4862c9ab553d95 (diff) | |
Some minor bugs
Diffstat (limited to 'src/game.rs')
| -rw-r--r-- | src/game.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/game.rs b/src/game.rs index 4a80ce7..8716111 100644 --- a/src/game.rs +++ b/src/game.rs @@ -110,6 +110,7 @@ pub struct Piece { pub stone: Stone, } +#[derive(Clone, Copy)] pub enum WinType { RoadWin(Player), FlatWin(Player), @@ -675,6 +676,7 @@ pub struct Game { white_player_name: String, black_player_name: String, date_string: String, + win_type: Option<WinType>, } impl Game { @@ -701,6 +703,7 @@ impl Game { white_player_name: white_player_name.to_string(), black_player_name: black_player_name.to_string(), date_string: date_str.to_string(), + win_type: None, }, warning, ) @@ -766,6 +769,9 @@ impl Game { result.push(line); } } + if self.win_type.is_some() { + result.push(self.win_type.unwrap().to_string()); + } result } @@ -835,7 +841,8 @@ impl Game { TurnOrder::BlackPlacesWhite => TurnOrder::Normal, TurnOrder::Normal => TurnOrder::Normal, }; - return Ok((pos_vec, self.last_state().check_win())); + self.win_type = self.last_state().check_win(); + return Ok((pos_vec, self.win_type)); } } } @@ -877,7 +884,7 @@ impl fmt::Display for Game { self.white_player_name, self.black_player_name, self.size, - self.query_action_lines().join("\n") + self.query_action_lines().join("\n"), ) } } |
