[][src]Trait legal_chess::pieces::piece::Piece

pub trait Piece: Debug {
    fn position(&self) -> &Position;
fn mut_position(&mut self) -> &mut Position;
fn attacks(&self, board: &Board, enemy_king_pos: Position) -> Vec<Position>;
fn color(&self) -> &Color;
fn piece(&self) -> PieceEnum;
fn moves_ignoring_pins(
        &self,
        board: &Board,
        en_passant: &Option<Position>,
        king_pos: Position
    ) -> Vec<ChessMove>; fn set_position(&mut self, position: &Position) { ... }
fn moves(
        &self,
        board: &Board,
        king: Position,
        en_passant: &Option<Position>
    ) -> Vec<ChessMove> { ... }
fn valid_moves_during_pin(
        &self,
        board: &Board,
        king: Position
    ) -> Option<Vec<Position>> { ... } }

Required methods

fn position(&self) -> &Position

fn mut_position(&mut self) -> &mut Position

fn attacks(&self, board: &Board, enemy_king_pos: Position) -> Vec<Position>

fn color(&self) -> &Color

fn piece(&self) -> PieceEnum

fn moves_ignoring_pins(
    &self,
    board: &Board,
    en_passant: &Option<Position>,
    king_pos: Position
) -> Vec<ChessMove>

Loading content...

Provided methods

fn set_position(&mut self, position: &Position)

fn moves(
    &self,
    board: &Board,
    king: Position,
    en_passant: &Option<Position>
) -> Vec<ChessMove>

fn valid_moves_during_pin(
    &self,
    board: &Board,
    king: Position
) -> Option<Vec<Position>>

Loading content...

Implementors

impl Piece for Bishop[src]

impl Piece for King[src]

impl Piece for Knight[src]

impl Piece for Pawn[src]

impl Piece for Queen[src]

impl Piece for Rook[src]

Loading content...