![]() |
![]() |
Animatie met pentomino "U", "T" en "X" terug naar de inleiding
De schets maakt gebruik van objecten van de classes "U" , "T" , "X", en de superclass "Vormen"
Bekijk de "U" , "T" en "X" animatie
met de toetsen 1 t/m 6 veranderen de draaipunten, met toets "s" stopt en met iedere andere toets start de animatie
Vormen [] vorm;
int dp1 =0;
int dp2 =0;
void setup() {
size(780, 560);
// fullScreen();
float x = width/2;
float y = height/2;
float n = height/10;
vorm = new Vormen[8];
vorm[0] = new U(n, 8-dp1, x-1.5*n, y-1.5*n, 0, color(#23E551, 50));
vorm[1] = new U(n, 1+dp1, x+1.5*n, y-1.5*n, 0, color(#23B0E5, 50));
vorm[2] = new U(n, 1+dp1, x-1.5*n, y+1.5*n,180, color(#23B0E5, 50));
vorm[3] = new U(n, 8-dp1, x+1.5*n, y+1.5*n,180, color(#23E551, 50));
vorm[4] = new T(n, dp2, x-3*n, y, 90, color(200, 255, 0, 50));
vorm[5] = new T(n, dp2, x+3*n, y, -90, color(200, 255, 0, 50));
vorm[6] = new X(n, dp2, x, y-2*n, 0, color(#E5A223, 50));
vorm[7] = new X(n, dp2, x, y+2*n, 0, color(#E5A223, 50));
}
void draw() {
background(#E6FBFF);
strokeWeight(2);
for (int i = 0; i < 8; i++)
{
vorm[i].display();
}
if (key == 's') {
}
else
{
vorm[0].dpRotLi(vorm[0]);
vorm[1].dpRotRe(vorm[1]);
vorm[2].dpRotRe(vorm[2]);
vorm[3].dpRotLi(vorm[3]);
vorm[4].xLiRe();
vorm[5].xReLi();
vorm[6].yUpDown();
vorm[7].yDownUp();
}
}
void keyPressed() {
if (key == '1') {
dp1 = 0; dp2 = 0;
setup();
}
if (key == '2') {
dp1 = 2; dp2 = 4;
setup();
}
if (key == '3') {
dp1 = 6; dp2 = 0;
setup();
}
if (key == '4') {
dp1 = 4; dp2 = 0;
setup();
}
if (key == '5') {
dp1 = 7; dp2 = 0;
setup();
}
if (key == '6') {
dp1 = 1; dp2 = 2;
setup();
}
}