Author: Sune Fischer
Date: 10:26:02 01/28/02
Go up one level in this thread
On January 28, 2002 at 13:04:05, Sune Fischer wrote: This is what I get for half the rook, similar stuff is done for the backwards attacks using the reversed occupied bitboard. BITBOARD RookAttacksForward(BOARD &occupied, char square) { BITBOARD a,x,y; x=occupied>>square; // shift board so square ends in lower left corner y=x&RANK1; // mask out ewerything but the first rank a=y^(y-2); // get the attacked bits on this rank y=x&FILE1; // now mask so we get a clean first file y=y^(y-2); // get the attacked squares a=a|(y&FILE1); // add the attacked bits after masking with the file again a=a<<square); // shift the attacked bits back (for ease of readability) return a; } ..untested, but something along those lines. Not entirely sure how to do it for the bishop, I guess we just shift to the lower right corner when attacking north-west and lower left when attacking north-east. But what happens if x=0? Will y then be 0 or something strange, the bitboard is unsigned so it should remain 0 right? -S.
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.