Struct chess_move_gen::MoveVec
[−]
[src]
pub struct MoveVec { /* fields omitted */ }
MoveCounter implements MoveList and collects moves in a vector. Use iter
to access the moves once they have been added.
Methods
impl MoveVec
[src]
fn new() -> MoveVec
fn to_string(&self) -> String
fn iter(&self) -> Iter<Move>
fn len(&self) -> usize
Trait Implementations
impl Clone for MoveVec
[src]
fn clone(&self) -> MoveVec
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Display for MoveVec
[src]
impl Debug for MoveVec
[src]
impl MoveList for MoveVec
[src]
fn add_moves(&mut self, from: Square, targets: BB, enemy: BB)
Adds moves from the from-square. Targets is a bitboard of valid to-squares. Enemy is a bitboard of enemy pieces (ie pieces that can be captured)
fn add_castle(&mut self, castle: Castle)
Adds the castle to the move list
fn add_pawn_ep_capture(&mut self, from: Square, to: Square)
Adds pawn en-passant capture to list. From and to are the squares the moving pieces moves from and to, respectively
fn add_pawn_pushes(&mut self, shift: usize, targets: BB)
Adds pawn non-captures to the list. Targets is a bitboard of valid to-squares. Shift is the distance the pawn moved to get to the target square, mod 64. For example, for a white piece moving forward one row this is '8'. For a black piece moving forward one row this is 56 (-8 % 64).
fn add_pawn_captures(&mut self, shift: usize, targets: BB)
Adds pawn captures to list. Targets and shift are same as for add_pawn_pushes
. Do not use this for en-passant captures (use add_pawn_ep_capture
)