bool getBestScore(pState state, int x, int y,
pState *nbr, int nbrCount, int feaMode,
double *var, int varCount)
// score[0..width-1][0..height-1] is a matrix of doubles
{
switch (feaMode) {
case feaBegin: var[0]=-1; var[1]=-1; break;
case feaContinue: var[state[0]] = max(var[state[0]],score[x][y]);
}
return true;
}
void __stdcall onTick(double &time)
{
int x,y;
int nbrCount;
pState *nbr;
pState state = anyAgent(NULL,x,y,nbr,nbrCount);
double bestScore[2];
forEachNbrVar(x,y,getBestScore,bestScore,2);
// now do something about it...
}