Warning: session_start(): open(/var/lib/php/sessions/sess_t93p31gqibnp7gauh3q34b27jm, 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 polys = 2, corners = 4;
!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(polys, 1, 100);
addToWindowPack_keepWidth(is, withMargin(jRightAligned(withLabel("Number of polys to use:", spinner))));
onChange(spinner, r {
polys = intFromSpinner(spinner);
makeInstruction(); restartAIs();
});
final JSpinner spinner2 = jSpinner(corners, 3, 100);
addToWindowPack_keepWidth(is, withMargin(jRightAligned(withLabel("Number of corners for each polygon:", spinner2))));
onChange(spinner2, r {
corners = intFromSpinner(spinner2);
makeInstruction(); restartAIs();
});
clickButton(last(aiButtons)); // Start the winner AI!
}
}
svoid makeInstruction {
setInstruction("Reproduce this image with " + n2(polys, "poly") + ", each having " + corners + " corners:");
}
sclass Submission extends BackgroundPlus {
*() {}
*(BackgroundPlus b) { copyFields(b, this); check(); }
void check {
assertEqualsQuick(polys, l(things));
for (PolygonWithColor p : things)
assertEqualsQuick(corners, l(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 renderBackgroundPlusPolys(w, h, s); }
static BufferedImage renderWithHints(Submission s) { ret renderBackgroundPlusPolys_withHints(w, h, s); }
/////////////////////////////////
// AIs. Just add your own here //
/////////////////////////////////
AI_Random_abstract > AI_Random {
Submission guess() {
ret Submission(randomBackgroundPlusPolys(w, h, polys, corners));
}
}
AI_RandomWithVariation_abstract > AI_RandomWithVariation {
AI_RandomWithVariation() { super(new AI_Random); }
Submission vary(Submission s) {
ret varyBackgroundPlusPolys(s, w, h);
}
}
!include #1014957 // AI_Racer