wip
This commit is contained in:
parent
4da70e21b3
commit
d6df7af4fe
3 changed files with 20 additions and 10 deletions
|
|
@ -144,7 +144,7 @@ impl GameState {
|
|||
}
|
||||
|
||||
pub fn mirror(&self) -> GameState {
|
||||
let mirrored_active_player = if self.active_player_id == 1 { 0 } else { 1 };
|
||||
// let mirrored_active_player = if self.active_player_id == 1 { 2 } else { 1 };
|
||||
let mut mirrored_players = HashMap::new();
|
||||
if let Some(p2) = self.players.get(&2) {
|
||||
mirrored_players.insert(1, p2.mirror());
|
||||
|
|
@ -156,7 +156,7 @@ impl GameState {
|
|||
.history
|
||||
.clone()
|
||||
.iter()
|
||||
.map(|evt| evt.get_mirror())
|
||||
.map(|evt| evt.get_mirror(false))
|
||||
.collect();
|
||||
|
||||
let (move1, move2) = self.dice_moves;
|
||||
|
|
@ -164,7 +164,7 @@ impl GameState {
|
|||
stage: self.stage,
|
||||
turn_stage: self.turn_stage,
|
||||
board: self.board.mirror(),
|
||||
active_player_id: mirrored_active_player,
|
||||
active_player_id: self.active_player_id,
|
||||
players: mirrored_players,
|
||||
history: mirrored_history,
|
||||
dice: self.dice,
|
||||
|
|
@ -469,10 +469,12 @@ impl GameState {
|
|||
Roll { player_id } => {
|
||||
// Check player exists
|
||||
if !self.players.contains_key(player_id) {
|
||||
error!("unknown player_id");
|
||||
return false;
|
||||
}
|
||||
// Check player is currently the one making their move
|
||||
if self.active_player_id != *player_id {
|
||||
error!("not active player_id");
|
||||
return false;
|
||||
}
|
||||
// Check the turn stage
|
||||
|
|
@ -902,10 +904,12 @@ impl GameEvent {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn get_mirror(&self) -> Self {
|
||||
pub fn get_mirror(&self, preserve_player: bool) -> Self {
|
||||
// let mut mirror = self.clone();
|
||||
let mirror_player_id = if let Some(player_id) = self.player_id() {
|
||||
if player_id == 1 {
|
||||
if preserve_player {
|
||||
player_id
|
||||
} else if player_id == 1 {
|
||||
2
|
||||
} else {
|
||||
1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue