pub fn run<P: Eq + Hash + Clone + Player, H: Handler<P>>(handler: H, game_state: state::Signups<P>) -> Result<HashSet<P>, state::StartGameError> {
    let num_ww = game_state.num_players() * 2 / 5;
    let mut roles = (0..num_ww).map(|i| Role::Werewolf(i)).collect::<Vec<_>>();
    roles.push(Role::Detective);
    run_with_roles(handler, game_state, roles)
}
/// Generate a basic role distribution for the signed-up players, and moderate a game of Quantum Werewolf.
///
/// The number of werewolves will be the 0.4 times the number of players, rounded down. There will also be one detective.
///
/// Returns the winners of the game.
Generate a basic role distribution for the signed-up players, and moderate a game of Quantum Werewolf.
The number of werewolves will be the 0.4 times the number of players, rounded down. There will also be one detective.

Returns the winners of the game.
Generate a basic role distribution for the signed - up players and moderate a game of Quantum Werewolf . The number of werewolves will be the 0 . 4 times the number of players rounded down . There will also be one detective . Returns the winners of the game .
pub fn run<P: Eq + Hash + Clone + Player, H: Handler<P>>(handler: H, game_state: state::Signups<P>) -> Result<HashSet<P>, state::StartGameError> {
    let num_ww = game_state.num_players() * 2 / 5;
    let mut roles = (0..num_ww).map(|i| Role::Werewolf(i)).collect::<Vec<_>>();
    roles.push(Role::Detective);
    run_with_roles(handler, game_state, roles)
}
pub fn run < P : Eq + Hash + Clone + Player , H : Handler < P > > ( handler : H , game_state : state :: Signups < P > ) -> Result < HashSet < P > , state :: StartGameError > { let num_ww = game_state . num_players ( ) * 2 / 5 ; let mut roles = ( 0 .. num_ww ) . map ( | i | Role :: Werewolf ( i ) ) . collect :: < Vec < _ > > ( ) ; roles . push ( Role :: Detective ) ; run_with_roles ( handler , game_state , roles ) }
Generate a basic role distribution for the signed-up players, and moderate a game of Quantum Werewolf.
Generate a basic role distribution for the signed - up players and moderate a game of Quantum Werewolf .
handler
H
game_state
state::Signups<P>
handler
H
game_state
state::Signups<P>