Author: Inmann Werner
Date: 14:37:53 10/15/99
Go up one level in this thread
On October 15, 1999 at 16:52:40, Nicolas Carrasco wrote: >Thanks for all Werner but I am sorry that I don't know German. > >Can someone traduce german variables to Snglish or Spanish? try it english.... you need something like PV[50][50]. here is some simple source , how to stuff the PV into the array. it is only a example, but working. typedef struct { short int value; /* value of move for move ordering */ char from; /* piece moves from */ char to; /* piece moves to */ char beaeten_piece; /* which piece was beaten */ char umwandl_fig; /* is it a pawn promotion,rochade,en-passant */ } move_t; move_t PV[50][50]; // is the PV array structure, as you like it... move_t STAPEL[1500] // all the possible moves to do from move generator //move_t STAPEL[aktzug] is the last made move. //at the befinning of alpha_beta set the PV to NULL ...... PV[depth][depth].from=0; ...... --------- //if a PV move is found i put it in the PV with following routine copy_pv(int currentmove) { int i; //put the current move into the PV PV[depth][depth]=STAPEL[aktzug]; //"sort" the pv, so it fits for(i=1;i<45;i++) /*45 is max depth*/ { if(PV[depth+1][depth+i].from==0) { PV[depth][depth+i]=PV[depth+1][depth+i]; return; } PV[depth][depth+i]=PV[depth+1][depth+i]; } } // at the end of alpha beta, you have the PV in PV[0][....] Greetings Werner
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.