wip
This commit is contained in:
parent
b7525a9ee6
commit
d67b7a7c01
3 changed files with 36 additions and 1 deletions
|
|
@ -8,7 +8,7 @@ use log::{debug, error};
|
|||
|
||||
// use itertools::Itertools;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::hash::{Hash, Hasher};
|
||||
use std::{fmt, str};
|
||||
|
||||
|
|
@ -143,6 +143,27 @@ impl GameState {
|
|||
game
|
||||
}
|
||||
|
||||
pub fn mirror(&self) -> GameState {
|
||||
let mirrored_active_player = if self.active_player_id == 1 { 0 } else { 1 };
|
||||
let mut mirrored_players = HashMap::new();
|
||||
mirrored_players.insert(1, self.players.get(&2).unwrap().mirror());
|
||||
mirrored_players.insert(2, self.players.get(&1).unwrap().mirror());
|
||||
GameState {
|
||||
stage: self.stage,
|
||||
turn_stage: self.turn_stage,
|
||||
board: self.board.mirror(),
|
||||
active_player_id: mirrored_active_player,
|
||||
players: mirrored_players,
|
||||
history: Vec::new(),
|
||||
dice: self.dice,
|
||||
dice_points: self.dice_points,
|
||||
dice_moves: (CheckerMove::default(), CheckerMove::default()),
|
||||
dice_jans: PossibleJans::default(),
|
||||
roll_first: self.roll_first,
|
||||
schools_enabled: self.schools_enabled,
|
||||
}
|
||||
}
|
||||
|
||||
fn set_schools_enabled(&mut self, schools_enabled: bool) {
|
||||
self.schools_enabled = schools_enabled;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue