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();     
  }   
}