Author: Tom Likens
Date: 14:51:21 09/03/03
Go up one level in this thread
On September 03, 2003 at 03:26:59, Uri Blass wrote: >It is something that I need to fix but before fixing it I prefer >to read what other people do. > >Today I update >1)the side to move >2)the ep array(I have instead of one global varaible an array of 3 numbers that >gives me the en passant possibilities(square of the pawn that can capture and >squares that it can capture) and maybe it is better if I compress it to one >varaible and replace ep[0],ep[1],ep[2] by defines) > >I am also not sure if all my global varaibles is a good idea and it may be >better to save the ep information only in the history information. > >3)A global varaible that is the zobrist key(maybe I should get rid of it and >read the zobrist key from the history information something that is possible >only after I change my makenull move) > >4)The arrays that are search dependent(for example the array that gives me >information about the evaluation of every ply). > >I do not include these arrays in a struct and maybe I should do it. > >I do not update >1)The fifty global varaible that tells me the number of plies >from the last conversion and I am not sure how to update it after null move and >if to reset it to 0 or to increase fifty by 1. > >2)The history ply and all the arrays in the struct that are dependent on it. > >3)The zobrist array that is history dependent and is used only for checking >repetition. > >I already posted about this subject in another discussion >(see http://www.talkchess.com/forums/1/message.html?313805) > >After getting no reply I decided that it may be better if I open a new >discussion because the original name of the subject about bitboard is >irrelevant. > >Uri Uri, I do the following after making a null move: 1. Clear the en'passant square 2. Update the hash key so that any en'passant capturing rights are voided out. 3. Increment the fifty-move counter 4. Change the side with the right to move I use the same main hash table key for the repetition table (the rep. table is a second table with different information stored in it). These are reversed when I "unmake" the null move. I believe that's everything. I don't have the code in front of me so I may have forgotten something, but I think these are the main things. regards, --tom
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.