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