toetsen 1 t/m 5 verplaatsen de rode draaipunten                                                           

 

animatie met  "F"  en "X"          de animate met   "F" en "X" pentomino's       terug naar de inleiding

de schets maakt gebruik van objecten van de class  "F" en "X"  , "Ruitjes"  de superclass  "Vormen"

de methode dpAan(); (line 44 t/m 47) staat in de supeclass "Vormen"

enkele toetsfuncties

Met toetsen 1 t/m 5  verander je de x,y positie van de draaipunten.
Met toetsen 6 t/m 9 verander je de draaipunten van de pentomino's.

met de "a" toets wordt het ruitjepapier met rode draaipunten ingeschakeld, met de "u" wordt dit weer uitgeschakel

Met toets 0 start de oorspronkelijke animatie.
Met toets s stopt, en met toets r start de animatie.

 

 

Vormen [] vorm; 
 
float xp = 4; float yp = 3; int dp = 0; 
boolean aan = false; 
Ruitjes ruitjespap; 
 
void setup() {  
  size(780, 560);  
//fullScreen();  
  float x = width/2;  
  float y = height/2;  
  float n = height/10;  
  vorm = new Vormen[8]; 
  ruitjespap = new Ruitjes(n,x,y); 
  vorm[0] = new X(n,    4+dp, x-xp*n, y-yp*n,   0, color(255, 255, 0, 50));  
  vorm[1] = new X(n,    9-dp, x+xp*n, y-yp*n,   0, color(0, 0, 255, 50));  
  vorm[2] = new F(n, 1, 9-dp, x-xp*n, y-yp*n,   0, color(255, 0, 0, 50));  
  vorm[3] = new F(n, 0, 2+dp, x+xp*n, y-yp*n,   0, color(0, 255, 0, 50)); 
  vorm[4] = new X(n,    3+dp, x-xp*n, y+yp*n,   0, color(0, 0, 255, 50));  
  vorm[5] = new X(n,   10-dp, x+xp*n, y+yp*n,   0, color(255, 255, 0, 50));  
  vorm[6] = new F(n, 0, 2+dp, x-xp*n, y+yp*n, 180, color(0, 255, 0, 50));  
  vorm[7] = new F(n, 1, 9-dp, x+xp*n, y+yp*n, 180, color(255, 0, 0, 50));  
}  
  
void draw() {  
  background(#E6FBFF);  
  strokeWeight(2); 
 for (int i = 0; i < 8; i++)  
  {  
  vorm[i].display();    
  }  
  vorm[0].dpRotLi(vorm[0]);  
  vorm[1].dpRotRe(vorm[1]);    
  vorm[2].dpRotRe(vorm[2]);  
  vorm[3].dpRotLi(vorm[3]);   
  vorm[4].dpRotRe(vorm[4]);  
  vorm[5].dpRotLi(vorm[5]);    
  vorm[6].dpRotLi(vorm[6]);  
  vorm[7].dpRotRe(vorm[7]);  
 
   if (key == 'a' || aan ) {          
     ruitjespap.display(); 
     vorm[2].dpAan(); 
     vorm[3].dpAan(); 
     vorm[6].dpAan(); 
     vorm[7].dpAan(); 
     aan = true; 
  } 
   
   if (key == 'u' && aan ) {          
     aan = false; 
  } 
   
}  
  
void keyPressed() {          
   if (key == 's') {         
    noLoop();         
  }                
   if (key == 'r') {            
    loop();         
  }        
  if (key == '1') {          
     xp = 2; yp = 3; 
     loop(); 
     setup();      
  }        
  if (key == '2') {   
     xp = 3; yp = 2;  
     loop(); 
     setup();       
}  
  if (key == '3') {          
     xp = 1; yp = 2;  
     loop(); 
     setup();       
}  
  if (key == '4') {          
     xp = 2; yp = 1; 
     loop(); 
     setup();  
} 
  if (key == '5') {          
     xp = 1; yp = 1;  
     loop(); 
     setup();  
}      
  if (key == '6') {          
     dp = 1; 
     loop(); 
     setup();  
}      
  if (key == '7') {          
     dp = 2; 
     loop(); 
     setup();  
}  
 if (key == '8') {          
     dp = 3; 
     loop(); 
     setup();  
}  
 if (key == '9') {          
     dp = 4; 
     loop(); 
     setup();  
}  
if (key == '0') {          
     dp = 0; xp = 4; yp = 3; 
     loop(); 
     setup(); 
  }   
}