Computer Chess Club Archives


Search

Terms

Messages

Subject: Some explanation about crbmg.cpp

Author: Maurizio Di Vitto

Date: 05:33:35 01/10/04


I am writing a chess engine with bitboard system, but I want to ask you just a
few things about the crbmg.cpp file that I am reading. The first is why you use
two FOR structure of 64, I mean:
for (int s=0; s<64; ++s) //I know that's about the number of squares.
   for (int b=0; b<64; ++b)//Here I don't understand because if you're looking
for the diagonal state you should have 256 state, so could you explain why do
you use that? Thank you very much.
Then I want to know why when you shift (I am still talking about bishop) is
there a bit that will go out the bitboard? So if you look at the both SHIFT
arrays and apply that index a bit will go out the bitboard. I wish to receive
some explanation.
The less important doubt is:

const BitBoard A1 = 0x0000000000000001;
const BitBoard B1 = 0x0000000000000002;
const BitBoard C1 = 0x0000000000000004;
const BitBoard D1 = 0x0000000000000008;

I deduce that it's like mask[i], but you don't keep an array. But what kind of
syntax is it? THank you.

The last doubt is why do you use a bit board where the a column is on the
rhight?
Thank you very much for your time.
Maurizio Di Vitto.



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.