use std::collections::HashMap; #[derive(Debug, Clone)] pub enum GameError { InvalidAction, NetworkError, } #[derive(Debug, Clone, PartialEq)] pub enum GamePhase { WaitingToStart, } #[derive(Debug, Clone)] pub struct GameState { pub game_type: String, pub bet_amount: u64, pub phase: GamePhase, pub data: HashMap, } pub trait Game: Send + Sync { fn get_name(&self) -> &'static str; fn render(&self, state: &GameState) -> String; fn render_lines(&self, state: &GameState) -> usize; fn get_help(&self) -> String; }