Trait minimax_alpha_beta::strategy::Strategy[][src]

pub trait Strategy {
    type Player;
    type Move;
    type Board;
    fn evaluate(&self) -> f64;
fn get_winner(&self) -> Self::Player;
fn is_game_tied(&self) -> bool;
fn is_game_complete(&self) -> bool;
fn get_available_moves(&self) -> Vec<Self::Move>;
fn play(&mut self, mv: &Self::Move, maximizer: bool);
fn clear(&mut self, mv: &Self::Move);
fn get_board(&self) -> &Self::Board;
fn is_a_valid_move(&self, mv: &Self::Move) -> bool;
fn get_a_sentinel_move(&self) -> Self::Move; }

Associated Types

Loading content...

Required methods

fn evaluate(&self) -> f64[src]

fn get_winner(&self) -> Self::Player[src]

fn is_game_tied(&self) -> bool[src]

fn is_game_complete(&self) -> bool[src]

fn get_available_moves(&self) -> Vec<Self::Move>[src]

fn play(&mut self, mv: &Self::Move, maximizer: bool)[src]

fn clear(&mut self, mv: &Self::Move)[src]

fn get_board(&self) -> &Self::Board[src]

fn is_a_valid_move(&self, mv: &Self::Move) -> bool[src]

fn get_a_sentinel_move(&self) -> Self::Move[src]

Loading content...

Implementors

impl Strategy for TicTacToe[src]

type Player = char

type Move = usize

type Board = Vec<char>

fn evaluate(&self) -> f64[src]

fn get_winner(&self) -> Self::Player[src]

fn is_game_tied(&self) -> bool[src]

fn is_game_complete(&self) -> bool[src]

fn get_available_moves(&self) -> Vec<Self::Move>[src]

fn play(&mut self, mv: &Self::Move, maximizer: bool)[src]

fn clear(&mut self, mv: &Self::Move)[src]

fn get_board(&self) -> &Self::Board[src]

fn is_a_valid_move(&self, mv: &Self::Move) -> bool[src]

fn get_a_sentinel_move(&self) -> Self::Move[src]

Loading content...