diff options
Diffstat (limited to 'src/server/games')
| -rw-r--r-- | src/server/games/blackjack.rs | 4 | ||||
| -rw-r--r-- | src/server/games/roulette.rs | 10 | ||||
| -rw-r--r-- | src/server/games/slots.rs | 4 |
3 files changed, 6 insertions, 12 deletions
diff --git a/src/server/games/blackjack.rs b/src/server/games/blackjack.rs index df5a6ac..cea817a 100644 --- a/src/server/games/blackjack.rs +++ b/src/server/games/blackjack.rs | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | use super::traits::{Game, GameError, GamePhase, GameResult, GameState}; | 1 | use super::traits::{Game, GameError, GamePhase, GameResult, GameState}; |
| 2 | use crate::blackjack::{ | 2 | use crate::blackjack::{card_value, fresh_shoe, hand_total, is_blackjack, BlackjackState}; |
| 3 | card_value, fresh_shoe, hand_total, is_blackjack, BlackjackState, | ||
| 4 | }; | ||
| 5 | use rand::seq::SliceRandom; | 3 | use rand::seq::SliceRandom; |
| 6 | use rand::thread_rng; | 4 | use rand::thread_rng; |
| 7 | use serde::{Deserialize, Serialize}; | 5 | use serde::{Deserialize, Serialize}; |
diff --git a/src/server/games/roulette.rs b/src/server/games/roulette.rs index 7beb8c9..0a58323 100644 --- a/src/server/games/roulette.rs +++ b/src/server/games/roulette.rs | |||
| @@ -65,17 +65,15 @@ impl Game for RouletteGame { | |||
| 65 | 65 | ||
| 66 | match action { | 66 | match action { |
| 67 | "spin" => { | 67 | "spin" => { |
| 68 | if state.phase != GamePhase::WaitingToStart | 68 | if state.phase != GamePhase::WaitingToStart && state.phase != GamePhase::Playing { |
| 69 | && state.phase != GamePhase::Playing | ||
| 70 | { | ||
| 71 | return Err(GameError::InvalidAction( | 69 | return Err(GameError::InvalidAction( |
| 72 | "Cannot spin in current phase".to_string(), | 70 | "Cannot spin in current phase".to_string(), |
| 73 | )); | 71 | )); |
| 74 | } | 72 | } |
| 75 | 73 | ||
| 76 | let payload = params | 74 | let payload = params.first().ok_or(GameError::InvalidAction( |
| 77 | .first() | 75 | "Missing roulette bets".to_string(), |
| 78 | .ok_or(GameError::InvalidAction("Missing roulette bets".to_string()))?; | 76 | ))?; |
| 79 | let bets: Bets = serde_json::from_str(payload) | 77 | let bets: Bets = serde_json::from_str(payload) |
| 80 | .map_err(|error| GameError::InvalidAction(format!("Invalid bets: {error}")))?; | 78 | .map_err(|error| GameError::InvalidAction(format!("Invalid bets: {error}")))?; |
| 81 | 79 | ||
diff --git a/src/server/games/slots.rs b/src/server/games/slots.rs index 298cd4c..caced24 100644 --- a/src/server/games/slots.rs +++ b/src/server/games/slots.rs | |||
| @@ -175,9 +175,7 @@ impl Game for SlotsGame { | |||
| 175 | 175 | ||
| 176 | match action { | 176 | match action { |
| 177 | "spin" => { | 177 | "spin" => { |
| 178 | if state.phase != GamePhase::WaitingToStart | 178 | if state.phase != GamePhase::WaitingToStart && state.phase != GamePhase::Playing { |
| 179 | && state.phase != GamePhase::Playing | ||
| 180 | { | ||
| 181 | return Err(GameError::InvalidAction( | 179 | return Err(GameError::InvalidAction( |
| 182 | "Cannot spin in current phase".to_string(), | 180 | "Cannot spin in current phase".to_string(), |
| 183 | )); | 181 | )); |
