abstract sclass AIStrategy implements Steppable {
// user must set
F1 submit; // scoring function
*() {}
*(F1 *submit) {}
selfType setJudge(IF1 judge) {
submit = toF1(judge);
this;
}
int round;
new Best best;
bool verbose;
void updateBest(A guess, double score) {
best.put(guess, score);
}
double submit(A guess) {
if (guess == null) ret minusInfinity();
double score = callF(submit, guess);
best.put(guess, score);
ret score;
}
}