durak/src/lobby.rs
2025-01-11 00:12:32 +01:00

35 lines
716 B
Rust

use crate::{deck::Deck, player::Player};
use petname::Generator;
pub struct Lobby {
pub id: String,
pub players: Vec<Player>,
pub deck: Deck,
}
impl Lobby {
pub fn new() -> Lobby {
let players: Vec<Player> = Vec::new();
let deck = Deck::new().shuffle();
let petname = petname::Petnames::default().generate_one(2, "-").expect("no words provided");
Lobby {
id: petname,
players,
deck,
}
}
pub fn join_lobby(mut self, player: Player) {
self.players.push(player);
}
pub fn get_players(self) -> Vec<Player> {
self.players
}
pub fn get_deck(self) -> Deck {
self.deck
}
}