sclass AIStrategy_RandomWithVariation extends AIStrategy {
F0 random;
F1 vary;
*() {}
*(IF1 judge, IF0 random, IF1 vary) {
setJudge(judge);
this.random = toF0(random);
this.vary = toF1(vary);
}
public bool step() { go(); true; }
void go {
submit(guess());
}
A guess() {
A a = null;
if (odd(round++) && vary != null && best.has())
a = callF(vary, best!);
if (a == null)
a = callF(random);
ret a;
}
}