![]() |
![]() |
Animatie met pentomino "T", "X" en "Drieh_nh" terug naar de inleiding
De schets maakt gebruik van objecten van de classes "T" , "X" , "Drieh_nh" en de superclass "Vormen"
Bekijk de "T" , "X" en "Drieh_nh animatie
met de toetsen 1 t/m 7 veranderen de draaipunten, met toets "s" stopt en met iedere andere toets start de animatie
Vormen[] vorm = new Vormen[12];
int dpDrieh = 0;
int dpX = 0;
int dpT = 0;
void setup() {
size(800, 800);
float x = width/2;
float y = height/2;
float n = height/15;
vorm[0] = new T(n, 6-dpT, x-2*n, y-2*n, 0, color(#E06A82, 50));
vorm[1] = new T(n, 3+dpT, x+2*n, y-2*n, 0, color(#22ED23, 50));
vorm[2] = new T(n, 6-dpT, x+2*n, y+2*n, 180, color(#E06A82, 50));
vorm[3] = new T(n, 3+dpT, x-2*n, y+2*n, 180, color(#22ED23, 50));
vorm[4] = new X(n, 9-dpX, x-2*n, y-2*n, 0, color(0, 100, 0, 50));
vorm[5] = new X(n, 4-dpX, x+2*n, y-2*n, 0, color(#6A85E0, 50));
vorm[6] = new X(n, 3+dpX, x+2*n, y+2*n, 0, color(0, 100, 0, 50));
vorm[7] = new X(n, 10-dpX,x-2*n, y+2*n, 0, color(#6A85E0, 50));
vorm[8] = new Drieh_nh(4*n, 2*n, dpDrieh, x, y-4*n, 0,color(#1AE8C4, 100));
vorm[9] = new Drieh_nh(4*n, 2*n, dpDrieh, x+4*n, y, 90,color(#E8B81A, 100));
vorm[10] = new Drieh_nh(4*n,2*n, dpDrieh, x, y+4*n,180,color(#1AE8C4, 100));
vorm[11] = new Drieh_nh(4*n,2*n, dpDrieh, x-4*n, y, -90,color(#E8B81A, 100));
}
void draw() {
background(#E6FBFF);
strokeWeight(2);
for (int i =0; i < 4; i++)
{
vorm[i].display();
}
for (int i =4; i < 8; i++)
{
vorm[i].display();
}
for (int i =8; i < 12; i++)
{
vorm[i].display();
}
if (key == 's') {
}
else
{
vorm[0].dpRotRe(vorm[0]);
vorm[1].dpRotLi(vorm[1]);
vorm[2].dpRotRe(vorm[2]);
vorm[3].dpRotLi(vorm[3]);
vorm[4].dpRotLi(vorm[4]);
vorm[5].dpRotRe(vorm[5]);
vorm[6].dpRotLi(vorm[6]);
vorm[7].dpRotRe(vorm[7]);
vorm[11].xLiRe();
vorm[9].xReLi();
vorm[8].yUpDown();
vorm[10].yDownUp();
}
}
void keyPressed() {
if (key == '1') {
dpDrieh = 2; dpX = 1; dpT = 3;
setup();
}
if (key == '2') {
dpDrieh = 2; dpX = 3; dpT = -1;
setup();
}
if (key == '3') {
dpDrieh = 4; dpX = 4; dpT = 2;
setup();
}
if (key == '4') {
dpDrieh = 0; dpX = 5; dpT = 3;
setup();
}
if (key == '5') {
dpDrieh = 0; dpX = -1; dpT = 4;
setup();
}
if (key == '6') {
dpDrieh = 4; dpX = -2; dpT = -2;
setup();
}
if (key == '7') {
dpDrieh = 0; dpX = 0; dpT = 0;
setup();
}
}