|
|
@ -143,7 +143,7 @@ impl Room {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
fn on_validate(&mut self) -> anyhow::Result<()> {
|
|
|
|
fn on_validate(&mut self) {
|
|
|
|
let diff = self.board.difference(&self.validated_board);
|
|
|
|
let diff = self.board.difference(&self.validated_board);
|
|
|
|
if !Board::has_alignment(&diff) {
|
|
|
|
if !Board::has_alignment(&diff) {
|
|
|
|
self.reset_player_moves();
|
|
|
|
self.reset_player_moves();
|
|
|
@ -151,7 +151,7 @@ impl Room {
|
|
|
|
self.active_player,
|
|
|
|
self.active_player,
|
|
|
|
ServerMessage::TurnRejected("Move is not aligned".to_string()),
|
|
|
|
ServerMessage::TurnRejected("Move is not aligned".to_string()),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
return Ok(());
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
let is_valid = self
|
|
|
|
let is_valid = self
|
|
|
|
.board
|
|
|
|
.board
|
|
|
@ -162,7 +162,8 @@ impl Room {
|
|
|
|
if is_valid {
|
|
|
|
if is_valid {
|
|
|
|
self.players[self.active_player]
|
|
|
|
self.players[self.active_player]
|
|
|
|
.hand
|
|
|
|
.hand
|
|
|
|
.complete(&mut self.deck)?;
|
|
|
|
.complete(&mut self.deck)
|
|
|
|
|
|
|
|
.ok();
|
|
|
|
self.next_player();
|
|
|
|
self.next_player();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
self.send(
|
|
|
|
self.send(
|
|
|
@ -170,7 +171,6 @@ impl Room {
|
|
|
|
ServerMessage::TurnRejected("Invalid expressions found".to_string()),
|
|
|
|
ServerMessage::TurnRejected("Invalid expressions found".to_string()),
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Ok(())
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
fn reset_player_moves(&mut self) {
|
|
|
|
fn reset_player_moves(&mut self) {
|
|
|
|