arcadio 0.1.1

Reinforcement learning framework for flash-like games.
Documentation
pub enum GameResult<P> {
    Winner(P),
    NoWinner,
}

pub trait GameState {
    type PlayerId;
    type GameAction;
    type StateDiff;
    type Config;

    fn init_game(config: &Self::Config, num_players: usize) -> Self;
    fn get_player_ids(&self) -> Vec<Self::PlayerId>;
    fn update_game_state(&mut self);
    fn handle_player_action(&mut self, player_id: Self::PlayerId, action: Self::GameAction);
    fn handle_player_leave(&mut self, player_id: Self::PlayerId);
    fn get_game_result(&self) -> Option<GameResult<Self::PlayerId>>;
    fn diff(&self, other: &Self) -> Self::StateDiff;
}