[][src]Trait myopic_brain::EvalChessBoard

pub trait EvalChessBoard: ChessBoard {
    pub fn static_eval(&mut self) -> i32;
pub fn piece_values(&self) -> &[i32; 6];
pub fn positional_eval(&self, piece: Piece, location: Square) -> i32; }

Extension of the Board trait which adds a static evaluation function.

Required methods

pub fn static_eval(&mut self) -> i32[src]

The static evaluation function assigns a score to this exact position at the point of time it is called. It does not take into account potential captures/recaptures etc. It must follow the rule that 'a higher score is best for the active side'. That is if it is white to move next then a high positive score indicates a favorable position for white and if it is black to move a high positive score indicates a favorable position for black. If the state it terminal it must return the LOSS_VALUE or DRAW_VALUE depending on the type of termination.

pub fn piece_values(&self) -> &[i32; 6][src]

The value each piece is considered to have in the current state of the game.

pub fn positional_eval(&self, piece: Piece, location: Square) -> i32[src]

The positional (table) value of the given piece situated at the given square in the context of this position.

Loading content...

Implementors

impl<B: ChessBoard> EvalChessBoard for EvalBoard<B>[src]

Loading content...