summaryrefslogtreecommitdiffstats
path: root/src/server/games
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/games')
-rw-r--r--src/server/games/blackjack.rs4
-rw-r--r--src/server/games/roulette.rs10
-rw-r--r--src/server/games/slots.rs4
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 @@
1use super::traits::{Game, GameError, GamePhase, GameResult, GameState}; 1use super::traits::{Game, GameError, GamePhase, GameResult, GameState};
2use crate::blackjack::{ 2use crate::blackjack::{card_value, fresh_shoe, hand_total, is_blackjack, BlackjackState};
3 card_value, fresh_shoe, hand_total, is_blackjack, BlackjackState,
4};
5use rand::seq::SliceRandom; 3use rand::seq::SliceRandom;
6use rand::thread_rng; 4use rand::thread_rng;
7use serde::{Deserialize, Serialize}; 5use 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 ));