Author: Harald Lüßen
Date: 13:01:57 08/21/04
Go up one level in this thread
On August 20, 2004 at 16:29:45, Robert Hyatt wrote: >On August 20, 2004 at 11:22:24, Tord Romstad wrote: > >>On August 20, 2004 at 10:59:16, Robert Hyatt wrote: >> [...] >>>Bitboards don't need any subtraction, any correction for side to move, nor even >>>the exact king square. It looks something like this: >>> >>>if (white_pawn_race[square of white pawn] & BlackKing) pawn can't run. [...] > >There is more to it. My "experimental version" handles the question "if the >king is in the square, can it actually reach the queening square without having >to deflect around a square that is attacked/occupied?" IE the case where the >white pawn is at a5, the black king is at d5, but black has a pawn at c6. Black >is technically "in the square" but can't get to the destination square directly. > >That isn't hard to handle with bitmaps. It is a pain to handle otherwise... Do I understand correctly that you are doing something like Bitboard bb = white_pawn_race[square of white pawn]; bb &= ~black_pawn_obstacle_dependant_squares; // (a)? bb &= ~other_black_piece_dependant_squares; // (b)? bb &= ~some_white_piece_dependant_squares; // (Q, K) (c)? bb &= ~white_attacks_dependant_squares; // (d)? if (bb & BlackKing) pawn can't run. How do you calculate the obstacle_dependant_squares? Harald
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.