Trait minimax_alpha_beta::strategy::AlphaBetaMiniMaxStrategy[][src]

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

The behaviour required of any minimax game engine.

Required methods

fn get_best_move(&mut self, max_depth: i64, is_maximizing: bool) -> Self::Move[src]

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

fn minimax_score(
    &mut self,
    depth: i64,
    is_maximizing: bool,
    alpha: f64,
    beta: f64,
    max_depth: i64
) -> f64
[src]

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

Loading content...

Implementors

impl<T: Strategy> AlphaBetaMiniMaxStrategy for T[src]

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

fn get_best_move(&mut self, max_depth: i64, is_maximizing: bool) -> Self::Move[src]

fn minimax_score(
    &mut self,
    depth: i64,
    is_maximizing: bool,
    alpha: f64,
    beta: f64,
    max_depth: i64
) -> f64
[src]

Loading content...