[position] Make the checking_piece! macro handle specifying the path to the piece constructor
This commit is contained in:
		
							parent
							
								
									032fabe072
								
							
						
					
					
						commit
						f09376f5dc
					
				
					 1 changed files with 6 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -265,19 +265,19 @@ impl Position {
 | 
			
		|||
        };
 | 
			
		||||
 | 
			
		||||
        macro_rules! checking_piece {
 | 
			
		||||
            ($moves_bb_fn:path, $piece_fn:path) => {{
 | 
			
		||||
            ($moves_bb_fn:path, $piece_fn:ident) => {{
 | 
			
		||||
                let moves_from_opposing_square = $moves_bb_fn(king_square);
 | 
			
		||||
                let piece = $piece_fn(opponent);
 | 
			
		||||
                let piece = Piece::$piece_fn(opponent);
 | 
			
		||||
                let opposing_pieces = self.pieces.bitboard_for_piece(&piece);
 | 
			
		||||
 | 
			
		||||
                moves_from_opposing_square & opposing_pieces
 | 
			
		||||
            }};
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        let checking_knights = checking_piece!(BitBoard::knight_moves, Piece::knight);
 | 
			
		||||
        let checking_bishops = checking_piece!(BitBoard::bishop_moves, Piece::bishop);
 | 
			
		||||
        let checking_rooks = checking_piece!(BitBoard::rook_moves, Piece::rook);
 | 
			
		||||
        let checking_queens = checking_piece!(BitBoard::queen_moves, Piece::queen);
 | 
			
		||||
        let checking_knights = checking_piece!(BitBoard::knight_moves, knight);
 | 
			
		||||
        let checking_bishops = checking_piece!(BitBoard::bishop_moves, bishop);
 | 
			
		||||
        let checking_rooks = checking_piece!(BitBoard::rook_moves, rook);
 | 
			
		||||
        let checking_queens = checking_piece!(BitBoard::queen_moves, queen);
 | 
			
		||||
 | 
			
		||||
        CheckingPieces::new(
 | 
			
		||||
            checking_pawns,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue