Author: Dan Honeycutt
Date: 14:30:55 08/26/05
Go up one level in this thread
On August 26, 2005 at 17:01:16, Robert Hyatt wrote: >On August 26, 2005 at 16:55:28, Dan Honeycutt wrote: > >>On August 26, 2005 at 16:36:47, Dan Honeycutt wrote: >> >>>On August 26, 2005 at 16:15:47, Robert Hyatt wrote: >>> >>>>On August 26, 2005 at 16:11:53, Dan Honeycutt wrote: >>>> >>>>>Run the lowest bits down the a or h file and you can do pawn captures without >>>>>having to mask those files. >>>>> >>>>>Best >>>>>Dan H. >>>> >>>> >>>>How would you avoid masking? Otherwise the pawn at h2 would still wrap to a3 on >>>>a shift... >>> >>>h8 = bit 0 >>>h7 = bit 1 >>>: >>>a1 = bit 63 >>> >>>If I ran that the right way, the out of bounds bits are lost and 0's are shifted >>>in on the other side. >>> >>>Best >>>Dan H. >> >>Looking at it, I think that's right. Take white pawns on g4 and h4 with >>captures to the right. g4 is bit 12 and h4 is bit 4. My shift is 9 left, so g4 >>lands on h5 (bit 3) and h4 is discarded. >> >>Best >>Dan H. > > >The problem is that all 64 squares are represented by one bit. So no matter >what you do, a pawn on the edge is going to wrap around to the other side of the >board... Because all 64 bits are shifted at once... > >Are we talking about the same thing here??? Before After (shifting all 64 bits 9 left) sq bit sq bit h8 0 gone h7 1 gone h6 2 gone h5 3 gone h4 4 gone h3 5 gone : g4 12 h5 3 : a1 63 b2 54 (bits 55 to 63 - squares b1 and the a file - are all 0) So my white pawn on g4 who I want to capture on a5 is in the correct bit 3. My white pawn on h4 (who I do not want to capture on a5 or any other square) has been shifted out. I take the After bitmap, "and" it with the black pieces and I've got my pawn captures (half of them) with no need to mask the h file. Best Dan H.
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.