From: Geoffrey Allott Date: Tue, 2 Mar 2021 18:06:52 +0000 (+0000) Subject: remove unused and clean up some warnings X-Git-Url: https://git.pointlesshacks.com/?a=commitdiff_plain;h=e91482cc20fdc072b50520933376e43a9eed17c2;p=pokerwave.git remove unused and clean up some warnings --- diff --git a/src/client.rs b/src/client.rs index c30a07b..0722c1f 100644 --- a/src/client.rs +++ b/src/client.rs @@ -204,7 +204,10 @@ impl ConnectionState { } (&mut ClientState::LoggedIn{username, state: LoggedInState::InLobby{..}}, ClientMessage::LeaveLobby) => { self.client = ClientState::LoggedIn{username, state: LoggedInState::Idle}; - ServerMessage::LeaveGameSuccess + ServerMessage::LeaveLobbySuccess + } + (&mut ClientState::LoggedIn{username, ..}, ClientMessage::LeaveLobby) => { + ServerMessage::LeaveLobbyFailure{reason: "Not in lobby".to_string()} } (&mut ClientState::LoggedIn{username, state: LoggedInState::InGame{..}}, ClientMessage::LeaveGame) => { self.client = ClientState::LoggedIn{username, state: LoggedInState::Idle}; diff --git a/src/hands.rs b/src/hands.rs deleted file mode 100644 index c4b95bb..0000000 --- a/src/hands.rs +++ /dev/null @@ -1,96 +0,0 @@ -use std::collections::{HashMap, HashSet}; - -use itertools::Itertools; - -use crate::card::{Card, Suit, FIFTY_TWO_CARD_DECK}; - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Hands { - hands: HashMap>, - community: Vec, - trick: Vec<(String, Card)>, - deck: HashSet, -} - -impl Hands { - pub fn new() -> Hands { - Hands { - hands: HashMap::new(), - community: Vec::new(), - trick: Vec::new(), - deck: FIFTY_TWO_CARD_DECK.iter().cloned().collect(), - } - } - - pub fn clear(&mut self) { - self.hands.clear(); - self.community.clear(); - self.trick.clear(); - self.deck = FIFTY_TWO_CARD_DECK.iter().cloned().collect(); - } - - pub fn clear_trick(&mut self) { - self.trick.clear(); - } - - pub fn trick_winner(&self, trumps: Option) -> Option { - let mut winner = None; - for (player, card) in &self.trick { - match winner { - None => winner = Some((player, card)), - Some((_, best)) if - Some(card.suit) == trumps && (card.rank > best.rank || Some(best.suit) != trumps) || - card.suit == best.suit && card.rank > best.rank - => winner = Some((player, card)), - Some((_, _)) => {}, - } - } - winner.map(|(player, _)| (*player).clone()) - } - - pub fn all_players_have_played_a_card(&self) -> bool { - let all_players: HashSet<_> = self.hands.keys().collect(); - let players_that_have_played_a_card: HashSet<_> = self.trick.iter().map(|(player, _)| player).collect(); - all_players == players_that_have_played_a_card - } - - pub fn play_card(&mut self, username: String, card: Card) { - if let Some(set) = self.hands.get_mut(&username) { - if set.remove(&card) { - self.trick.push((username, card)); - } else { - error!("Tried to remove {} from {}'s hand - had [{}]", card, username, set.iter().format(", ")); - } - } else { - error!("Tried to remove {} from {}'s hand - had [{}]", card, username, self.hands.keys().format(", ")); - } - } - - pub fn reveal_card(&mut self, username: &str, card: Card) { - // TODO - } - - pub fn deck(&self) -> HashSet { - self.deck.clone() - } - - pub fn deal_card(&mut self, username: String, card: Card) { - if !self.deck.remove(&card) { - error!("Tried to deal card {} but it was not present in deck: [{}]", card, self.deck.iter().format(", ")); - } - let set = self.hands.entry(username).or_insert_with(HashSet::new); - set.insert(card); - } - - pub fn deal_community_card(&mut self, card: Card) { - self.community.push(card); - } - - pub fn player_has_card(&self, username: &str, card: Card) -> bool { - if let Some(hand) = self.hands.get(username) { - hand.contains(&card) - } else { - false - } - } -} diff --git a/src/main.rs b/src/main.rs index 4d55863..4b3773c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,7 +21,6 @@ mod card; mod client; mod dealer; mod game; -mod hands; mod rng; mod seats; mod server; diff --git a/src/seats.rs b/src/seats.rs index 5a5047c..7bc7fdc 100644 --- a/src/seats.rs +++ b/src/seats.rs @@ -100,9 +100,9 @@ mod tests { #[test] fn player_after_absent_player_is_none() { let mut seats = Seats::new(); - seats.add_player(1, "Player_1".parse().unwrap()); - seats.add_player(2, "Player_2".parse().unwrap()); - seats.add_player(3, "Player_3".parse().unwrap()); + seats.add_player(1, "Player_1".parse().unwrap()).unwrap(); + seats.add_player(2, "Player_2".parse().unwrap()).unwrap(); + seats.add_player(3, "Player_3".parse().unwrap()).unwrap(); assert_eq!(None, seats.player_after("Player_4".parse().unwrap())); assert!(seats.seat_is_available(0)); assert!(!seats.seat_is_available(1)); @@ -114,7 +114,7 @@ mod tests { #[test] fn player_after_single_player_is_none() { let mut seats = Seats::new(); - seats.add_player(1, "Player_1".parse().unwrap()); + seats.add_player(1, "Player_1".parse().unwrap()).unwrap(); assert_eq!(None, seats.player_after("Player_1".parse().unwrap())); assert!(seats.seat_is_available(0)); assert!(!seats.seat_is_available(1)); @@ -127,9 +127,9 @@ mod tests { let player_2 = "Player_2".parse().unwrap(); let player_3 = "Player_3".parse().unwrap(); let mut seats = Seats::new(); - seats.add_player(1, player_1); - seats.add_player(2, player_2); - seats.add_player(3, player_3); + seats.add_player(1, player_1).unwrap(); + seats.add_player(2, player_2).unwrap(); + seats.add_player(3, player_3).unwrap(); assert_eq!(player_2, seats.player_after(player_1).unwrap()); assert_eq!(player_3, seats.player_after(player_2).unwrap()); } @@ -140,9 +140,9 @@ mod tests { let player_5 = "Player_5".parse().unwrap(); let player_8 = "Player_8".parse().unwrap(); let mut seats = Seats::new(); - seats.add_player(1, player_1); - seats.add_player(5, player_5); - seats.add_player(8, player_8); + seats.add_player(1, player_1).unwrap(); + seats.add_player(5, player_5).unwrap(); + seats.add_player(8, player_8).unwrap(); assert_eq!(player_1, seats.player_after(player_8).unwrap()); } @@ -151,8 +151,8 @@ mod tests { let player_1 = "Player_1".parse().unwrap(); let player_4 = "Player_4".parse().unwrap(); let mut seats = Seats::new(); - seats.add_player(1, player_1); - seats.add_player(4, player_4); + seats.add_player(1, player_1).unwrap(); + seats.add_player(4, player_4).unwrap(); assert_eq!(player_4, seats.player_after(player_1).unwrap()); assert_eq!(player_1, seats.player_after(player_4).unwrap()); } @@ -163,10 +163,10 @@ mod tests { let player_2 = "Player_2".parse().unwrap(); let player_3 = "Player_3".parse().unwrap(); let mut seats = Seats::new(); - seats.add_player(1, player_1); - seats.add_player(2, player_2); - seats.add_player(3, player_3); - seats.remove_player(player_2); + seats.add_player(1, player_1).unwrap(); + seats.add_player(2, player_2).unwrap(); + seats.add_player(3, player_3).unwrap(); + seats.remove_player(player_2).unwrap(); assert_eq!(player_3, seats.player_after(player_1).unwrap()); assert_eq!(None, seats.player_after(player_2)); assert_eq!(player_1, seats.player_after(player_3).unwrap());