Warning: session_start(): open(/var/lib/php/sessions/sess_a0a34q1o5qbvl5llf00knsmbmh, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
static int quads = 1;
!include #1006931 // AI Game & API
p-autorestart {
newImageText = "New Letter!";
gameTitle = "A. I. Game 8.2";
reproZoom = 1;
makeInstruction();
pGame();
swing {
final JSpinner spinner = jSpinner(quads, 1, 100);
addToWindowPack_keepWidth(is, withMargin(jRightAligned(withLabel("Number of quads to use:", spinner))));
onChange(spinner, r {
quads = intFromSpinner(spinner);
makeInstruction();
restartAIs();
});
clickButton(last(aiButtons)); // Start the winner AI!
}
}
svoid makeInstruction {
setInstruction("Reproduce this image with " + n2(quads, "quad") + ":");
}
sclass Submission extends BackgroundPlus {
*() {}
*(BackgroundPlus b) { copyFields(b, this); check(); }
void check {
assertEqualsQuick(quads, l(things));
for (PolygonWithColor p : things)
assertEqualsQuick(4, p.points);
}
}
!include #1014964 // Random letter puzzle maker
///////////////
// RENDERERS //
///////////////
static RGBImage renderImage(Submission s) { ret new RGBImage(renderImage1(s)); }
static BufferedImage renderImage1(Submission s) { ret renderBackgroundPlusQuads(w, h, s); }
static BufferedImage renderWithHints(Submission s) { ret renderBackgroundPlusQuads/*_withHints*/(w, h, s);
/////////////////////////////////
// AIs. Just add your own here //
/////////////////////////////////
AI_Random_abstract > AI_Random {
Submission guess() {
ret Submission(randomBackgroundPlusQuads(w, h));
}
}
AI_RandomWithVariation_abstract > AI_RandomWithVariation {
AI_RandomWithVariation() { super(new AI_Random); }
Submission vary(Submission s) {
ret varyBackgroundPlusQuads(s, w, h);
}
}
!include #1014957 // AI_Racer