Animatie met pentomino "N", "Z" en parallellogrammen                      terug naar de inleiding

 

De schets maakt gebruik van objecten van de classes  "N""Z""Paral",   en de superclass   "Vormen"

Bekijk de  "N" , "Z" parallellogrammen animatie

Met de toetsen 1 t/m 0 veranderen de draaipunten

 

 

Vormen [] vorm;
int p = 0; 
int np = 0;
int z = 0;
void setup() { 
  size(1000, 600); 
  float x = width/2; 
  float y = height/2; 
  float n = height/12; 
  float l = n; 
  float h = n; 
  vorm = new Vormen[10];
  vorm[0] = new Paral(h,  l, 1, 5-p, x,    y,   0, color(255, 0, 0, 100)); 
  vorm[1] = new Paral(h,  l, 0, 3+p, x,    y,   0, color(255, 0, 0, 100)); 
  vorm[2] = new Paral(h,2*l, 0, 1+p, x-3*n,y, -90, color(0, 255, 0, 100)); 
  vorm[3] = new Paral(h,2*l, 1, 7-p, x+3*n,y,  90, color(0, 255, 0, 100)); 
  vorm[4] = new Paral(h,3*l, 1, 7-p, x-n,  y-n,90, color(0, 100, 255, 100)); 
  vorm[5] = new Paral(h,3*l, 0, 5-p, x+n,y-n,  90, color(0, 100, 255, 100)); 
  vorm[6] = new N(n,         1, 6-np,x-n,  y-n,0,  color(200, 200, 0, 50));
  vorm[7] = new N(n,         0, 3+np,x+n,  y-n,0,  color(200, 200, 0, 50));
  vorm[8] = new Z(n,         0, 3+z, x-3*n,y,-180, color(0, 100, 200, 50)); 
  vorm[9] = new Z(n,         1, 6-z, x+3*n,y, 180, color(0, 100, 200, 50)); 
 } 
  
void draw() {  
  background(#E6FBFF);   
  for (int i = 0; i < 10; i++)
  {
  vorm[i].display();  
  
  }
  if (key == 's') {     
      
  }       
   else  
 {  
    vorm[0].dpRotRe(vorm[0]);  
    vorm[1].dpRotLi(vorm[1]);  
    vorm[2].dpRotLi(vorm[2]); 
    vorm[3].dpRotRe(vorm[3]); 
    vorm[4].dpRotLi(vorm[4]);    
    vorm[5].dpRotRe(vorm[5]);  
    vorm[6].dpRotRe(vorm[6]);  
    vorm[7].dpRotLi(vorm[7]);  
    vorm[8].dpRotRe(vorm[8]);    
    vorm[9].dpRotLi(vorm[9]);  
 
   }  
}
 
void keyPressed() {    
  if (key == '1') { 
    p = 0; np = 0; z = 0;
    setup(); 
  }      
   
  if (key == '2') {          
    p = 1; np = 3;   
    setup();     
  }
  
    if (key == '3') {          
    p = 2;  np = 4;
    setup();     
  } 
  
    if (key == '4') {          
    p = 3;  
    setup();     
  } 
  
   if (key == '5') {          
    p = 4;  
    setup();     
  } 
  
   if (key == '6') {          
    z = 2;  
    setup();     
  } 
  
   if (key == '7') {          
    z = 3;  
    setup();     
  } 
  
   if (key == '8') {          
    z = 4;  
    setup();     
  } 
   if (key == '9') {          
    np = 5;  
    setup();     
  } 
  
   if (key == '0') {          
    np = 3;  
    setup();     
  } 
}