Computer Chess Club Archives


Search

Terms

Messages

Subject: BUG on Galahad

Author: Nicolas Carrasco

Date: 09:57:08 12/20/99


Dear Guys,

While I started studying how to write a Bitboard chess engine I read “Galahad
Chess Engine” move generator from James F. Swafford publicated on:
http://members.xoom.com/jswaff/chessprg/ at  Move Generation section.
NOTE: At the end you will have a link to download the move-gen.

I wrote him several e-mails but never recived a reply.

To generate the EP captures he does this that I think is wrong because he forget
a position with two possible EP captures.

   if (posptr->epsquare<64) {
      to_map=bpmoves[posptr->epsquare]&posptr->whitepawns;
      if (to_map) {
         from_sq=LSB(to_map);
         m->m.b.from=from_sq;
         m->m.b.to=posptr->epsquare;
         m->m.b.promote=0;
         m->m.b.bits=21;
         m->score=0;
         m++;
      }
   }

And nothing else for EP captures.

I think the correct way is:

   if (posptr->epsquare<64) {
      to_map=bpmoves[posptr->epsquare]&posptr->whitepawns;
      while (to_map) {
         from_sq=LSB(to_map);
         to_map^=mask[to_sq];
         m->m.b.from=from_sq;
         m->m.b.to=posptr->epsquare;
         m->m.b.promote=0;
         m->m.b.bits=21;
         m->score=0;
         m++;
      }
   }

Or:

   if (posptr->epsquare<64) {
      to_map=bpmoves[posptr->epsquare]&posptr->whitepawns;
      if (to_map) {
         from_sq=LSB(to_map);
         to_map^=mask[to_sq];
         m->m.b.from=from_sq;
         m->m.b.to=posptr->epsquare;
         m->m.b.promote=0;
         m->m.b.bits=21;
         m->score=0;
         m++;
         if (to_map) {
           from_sq=LSB(to_map);
           m->m.b.from=from_sq;
           m->m.b.to=posptr->epsquare;
           m->m.b.promote=0;
           m->m.b.bits=21;
           m->score=0;
           m++;
          }
        }
   }

To James: Can you tell me your usual e-mail address?

Thanks in advance and good luck.



This page took 0.01 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.