pounce 2.0.2

A mediocre (but trying its best) uci chess engine
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::chess::bitboard::Bitboard;
use crate::chess::movegen::types::{BishopType, Mover, QueenType, RookType};
use crate::chess::{Position, Role, Square};

impl Mover for QueenType {
    #[inline]
    fn into_piece() -> Role {
        Role::Queen
    }

    #[inline]
    fn pseudo_legal_moves<const BLACK: bool>(from: Square, pos: &Position) -> Bitboard {
        let rook_moves = RookType::pseudo_legal_moves::<BLACK>(from, pos);
        let bishop_moves = BishopType::pseudo_legal_moves::<BLACK>(from, pos);
        rook_moves | bishop_moves
    }
}