[][src]Trait ggpf::policies::MultiplayerPolicy

pub trait MultiplayerPolicy<T: Game> {
#[must_use]    fn play<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        board: &'life1 T
    ) -> Pin<Box<dyn Future<Output = T::Move> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; }

A static policy.

Required methods

#[must_use]fn play<'life0, 'life1, 'async_trait>(
    &'life0 mut self,
    board: &'life1 T
) -> Pin<Box<dyn Future<Output = T::Move> + Send + 'async_trait>> where
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Chooses the next action given the current game state.

Loading content...

Implementors

impl<G> MultiplayerPolicy<G> for MuzPolicy<G> where
    G: Features + 'static, 
[src]

impl<G, M> MultiplayerPolicy<G> for PPAPolicy<G, M> where
    G: Game + SingleWinner + Clone + Eq + Hash,
    M: MoveCode<G>, 
[src]

impl<G, MCTS> MultiplayerPolicy<G> for WithMCTSPolicy<G, MCTS> where
    G: MCTSGame,
    MCTS: BaseMCTSPolicy<G> + Sync + Send
[src]

impl<G: Game + SingleWinner + Clone> MultiplayerPolicy<G> for FlatMonteCarloPolicy<G>[src]

impl<G: Game + SingleWinner + Clone> MultiplayerPolicy<G> for FlatUCBMonteCarloPolicy<G>[src]

impl<G: Game + SingleWinner + Clone> MultiplayerPolicy<G> for MultiNMCSPolicy<G>[src]

impl<G: Game> MultiplayerPolicy<G> for RandomPolicy[src]

Loading content...