Author: Christophe Theron
Date: 13:52:58 02/21/04
Go up one level in this thread
On February 21, 2004 at 04:09:22, Mathieu Pagé wrote: >Hi, > >This is my move structure: > >class CCoup{ > char tcCoup; // type of move castling promotion (the piece) > unsigned char cPiecePrisePieceJoue; // type of the piece moved and on the > // piece taken if any. > > int iFrom; // self explaning > int iTo; // ditto > >... >}; > >It is 10 bytes long. is it common to have a move struct that "big" ? > >from and to could be compress to one byte each, but i Think (i'm not sure) it >would be less efficient since I often have to use them as a table index and a >table index is always (on my target architecture) 4 bytes. > >Am I right ? What do you think of it ? > >Mathieu P. The move type in Chess Tiger is a 16 bits unsigned int (2 bytes). However I do not store the pieces (moved/captured) in the move itself. The only piece information stored in the move is the new piece in case of a promotion. I used to have a 32 bits unsigned int move type 3 years ago (4 bytes) and used to consider it as very inefficient... I changed it in Chess Tiger 13. Christophe
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.