![]() |
![]() |
![]() |
animatie met "F" en "X" de animate met "F" en "X" pentomino's terug naar de inleiding
de schets maakt gebruik van objecten van de class "F" en "X" , "Ruitjes" de superclass "Vormen"
de methode dpAan(); (line 44 t/m 47) staat in de supeclass "Vormen"
enkele toetsfuncties
Met toetsen 1 t/m 5 verander je de x,y positie van de draaipunten.
Met toetsen 6 t/m 9 verander je de draaipunten van de pentomino's.
met de "a" toets wordt het ruitjepapier met rode draaipunten ingeschakeld, met de "u" wordt dit weer uitgeschakel
Met toets 0 start de oorspronkelijke animatie.
Met toets s stopt, en met toets r start de animatie.
Vormen [] vorm;
float xp = 4; float yp = 3; int dp = 0;
boolean aan = false;
Ruitjes ruitjespap;
void setup() {
size(780, 560);
//fullScreen();
float x = width/2;
float y = height/2;
float n = height/10;
vorm = new Vormen[8];
ruitjespap = new Ruitjes(n,x,y);
vorm[0] = new X(n, 4+dp, x-xp*n, y-yp*n, 0, color(255, 255, 0, 50));
vorm[1] = new X(n, 9-dp, x+xp*n, y-yp*n, 0, color(0, 0, 255, 50));
vorm[2] = new F(n, 1, 9-dp, x-xp*n, y-yp*n, 0, color(255, 0, 0, 50));
vorm[3] = new F(n, 0, 2+dp, x+xp*n, y-yp*n, 0, color(0, 255, 0, 50));
vorm[4] = new X(n, 3+dp, x-xp*n, y+yp*n, 0, color(0, 0, 255, 50));
vorm[5] = new X(n, 10-dp, x+xp*n, y+yp*n, 0, color(255, 255, 0, 50));
vorm[6] = new F(n, 0, 2+dp, x-xp*n, y+yp*n, 180, color(0, 255, 0, 50));
vorm[7] = new F(n, 1, 9-dp, x+xp*n, y+yp*n, 180, color(255, 0, 0, 50));
}
void draw() {
background(#E6FBFF);
strokeWeight(2);
for (int i = 0; i < 8; i++)
{
vorm[i].display();
}
vorm[0].dpRotLi(vorm[0]);
vorm[1].dpRotRe(vorm[1]);
vorm[2].dpRotRe(vorm[2]);
vorm[3].dpRotLi(vorm[3]);
vorm[4].dpRotRe(vorm[4]);
vorm[5].dpRotLi(vorm[5]);
vorm[6].dpRotLi(vorm[6]);
vorm[7].dpRotRe(vorm[7]);
if (key == 'a' || aan ) {
ruitjespap.display();
vorm[2].dpAan();
vorm[3].dpAan();
vorm[6].dpAan();
vorm[7].dpAan();
aan = true;
}
if (key == 'u' && aan ) {
aan = false;
}
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
if (key == '1') {
xp = 2; yp = 3;
loop();
setup();
}
if (key == '2') {
xp = 3; yp = 2;
loop();
setup();
}
if (key == '3') {
xp = 1; yp = 2;
loop();
setup();
}
if (key == '4') {
xp = 2; yp = 1;
loop();
setup();
}
if (key == '5') {
xp = 1; yp = 1;
loop();
setup();
}
if (key == '6') {
dp = 1;
loop();
setup();
}
if (key == '7') {
dp = 2;
loop();
setup();
}
if (key == '8') {
dp = 3;
loop();
setup();
}
if (key == '9') {
dp = 4;
loop();
setup();
}
if (key == '0') {
dp = 0; xp = 4; yp = 3;
loop();
setup();
}
}