Пример #1
0
void FSM::eval() {
    process->updateInputs();
    if (plugin != NULL) {
        plugin->evalCycle();
    }
    evalEvents();
    evalState();
    process->applyOutput();
}
Пример #2
0
int MAX(treeNode * ptr, int alpha, int beta){
  if(ptr->numChildren == 0){
    return evalState(ptr->board);
  }
  int v = -1000;
  for (int i = 0; i < ptr->numChildren; i++){
    v = greater(v, MIN(ptr->children[i], alpha, beta));
    if (v >= beta){
      ptr->evalVal = v;
      return v;
    }
    alpha = greater(alpha, v);
  }
  ptr->evalVal = v;
  return v;
}
Пример #3
0
int MIN(treeNode * ptr, int alpha, int beta){
  if(ptr->numChildren == 0){
    return evalState(ptr->board);
  }
  int v = 1000;
  for(int i = 0; i < ptr->numChildren; i++){
    v = less(v, MAX(ptr->children[i], alpha, beta));
    if (v <= alpha){
      ptr->evalVal = v;
      return v;
    }
    beta = less(beta, v);
  }
  ptr->evalVal = v;
  return v;
}
void HeightProfileCheck::evalCycle() {
    evalEvents();
    evalState();
}