pub trait AlphaBetaMiniMaxStrategy: GameStrategy {
    fn get_best_move(
        &mut self,
        max_depth: i64,
        is_maximizing: bool
    ) -> <Self as GameStrategy>::Move; fn minimax_score(
        &mut self,
        depth: i64,
        is_maximizing: bool,
        alpha: f64,
        beta: f64,
        max_depth: i64
    ) -> f64; }
Expand description

The behaviour required of any minimax game engine.

Required Methods

The ability to get the best move in the current state and for the current player.

The ability to produce a best (good enough, sometimes) evaluation score possible over all possible moves at the current game state.

Implementors

Endow upon anything the ability to use the AlphaBetaMiniMaxStrategy implementation of the game engine as long as it understands how to behave as Strategy.