header Lt

 

tetromino  "Lt".                  terug naar de inleiding

 

 

class Lt extends Vormen { 
//argumenten van de constructor  
//1) grootte, 2) links/rechts, 3) draaipunt, 4) x positie, 5) y positie,   
//6) hoek     7) vormkleur,    8) lijndikte, 9) lijnkleur   
  
//   1        2        3        4         5         6           7          8         9    
Lt(float n_, int lr_, int d_, float x_, float y_, float hoek_, color c1_, int sw_, color c2_) {  
 super();  
 n = n_;  
 lr = lr_; 
 d = d_; 
 x = x_;   
 y = y_;   
 hoek = hoek_; 
 c1 = c1_;  
 sw = sw_; 
 c2 = c2_; 
 } 
void display() {  
 fill(c1);  
 strokeWeight(sw);  
 stroke(c2); 
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek));   
 beginShape();  
  
 if (d == 0 && lr == 1) {vertex(-n,1.5*n);vertex(-n,n/2);   vertex(0,n/2);   vertex(0,-1.5*n);vertex(n,-1.5*n);vertex(n,1.5*n);}  
 if (d == 0 && lr == 0) {vertex(-n,1.5*n);vertex(-n,-1.5*n);vertex(0,-1.5*n);vertex(0,n/2);   vertex(n,n/2);   vertex(n,1.5*n);}   
 if (d == 1 && lr == 1) {vertex(0,0);     vertex(0,-3*n);   vertex(n,-3*n); vertex(n,-n);   vertex(2*n,-n);  vertex(2*n,0);}  
 if (d == 1 && lr == 0) {vertex(0,0);     vertex(0,-n);     vertex(n,-n);   vertex(n,-3*n); vertex(2*n,-3*n);vertex(2*n,0);}    
 if (d == 2 && lr == 1) {vertex(0,3*n);   vertex(0,0);      vertex(n,0);    vertex(n,2*n);  vertex(2*n,2*n); vertex(2*n,3*n);}  
 if (d == 2 && lr == 0) {vertex(0,n);     vertex(0,0);      vertex(n,0);    vertex(n,-2*n); vertex(2*n,-2*n);vertex(2*n,n);}   
 if (d == 3 && lr == 1) {vertex(-n,3*n);  vertex(-n,0);     vertex(0,0);    vertex(0,2*n);  vertex(n,2*n);   vertex(n,3*n);} 
 if (d == 3 && lr == 0) {vertex(-n,n);    vertex(-n,0);     vertex(0,0);    vertex(0,-2*n); vertex(n,-2*n);  vertex(n,n);}  
 if (d == 4 && lr == 1) {vertex(-n,n);    vertex(-n,-2*n);  vertex(0,-2*n); vertex(0,0);    vertex(n,0);     vertex(n,n);} 
 if (d == 4 && lr == 0) {vertex(-n,3*n);  vertex(-n,2*n);   vertex(0,2*n);  vertex(0,0);    vertex(n,0);     vertex(n,3*n);}   
 if (d == 5 && lr == 1) {vertex(-2*n,n);  vertex(-2*n,-2*n);vertex(-n,-2*n);vertex(-n,0);   vertex(0,0);     vertex(0,n);}  
 if (d == 5 && lr == 0) {vertex(-2*n,3*n);vertex(-2*n,2*n); vertex(-n,2*n); vertex(-n,0);   vertex(0,0);     vertex(0,3*n);}   
 if (d == 6 && lr == 1) {vertex(-2*n,0);  vertex(-2*n,-3*n);vertex(-n,-3*n);vertex(-n,-n);  vertex(0,-n);    vertex(0,0);}  
 if (d == 6 && lr == 0) {vertex(-2*n,0);  vertex(-2*n,-n);  vertex(-n,-n);  vertex(-n,-3*n);vertex(0,-3*n);  vertex(0,0);}  
 endShape(CLOSE);  
 popMatrix();  
 }  
}
 
voorbeeld met tetromino "Lt"      de schets maakt gebruik van object methodes van de superclass "Vormen"
 
 


Vormen [] vorm;  
 
void setup()  { 
size(780,560); 
float x = width/2; 
float y = height/2; 
float n = height/10; 
int stroke = #050505; 
int sw = 3; 
 
  vorm = new Vormen[8]; 
  //argumenten van de constructor  
//1) grootte, 2) links/rechts, 3) draaipunt, 4) x positie, 5) y positie,   
//6) hoek     7) vormkleur,    8) lijndikte, 9) lijnkleur   
  
//                 1  2  3   4     5    6     7               8     9    
  vorm[0] = new Lt(n, 1, 3, x-n,  y-n, 90, color(#08FA42,100),sw, color(stroke)); 
  vorm[1] = new Lt(n, 0, 4, x+n,  y-n,-90, color(#08FA42,100),sw, color(stroke)); 
  vorm[2] = new Lt(n, 0, 3, x-n,  y-n,  0, color(#FC0015,100),sw, color(stroke)); 
  vorm[3] = new Lt(n, 1, 4, x+n,  y-n,  0, color(#FC0015,100),sw, color(stroke));  
  vorm[4] = new Lt(n, 1, 1, x-2*n,y, -180, color(#FAE208,100),sw, color(stroke));   
  vorm[5] = new Lt(n, 0, 6, x+2*n,y, -180, color(#FAE208,100),sw, color(stroke));  
  vorm[6] = new Lt(n, 1, 2, x-2*n,y,    0, color(#08AFFA,100),sw, color(stroke));   
  vorm[7] = new Lt(n, 0, 5, x+2*n,y,    0, color(#08AFFA,100),sw, color(stroke)); 
} 
 
void draw()  { 
   
  background(#E6FBFF); 
 for (int i = 0; i< 8; i++)   
  {   
  vorm[i].display();   
  }     
  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]);     
} 
 
void keyPressed() {      
  if (key == 's') {     
    noLoop();  
  }    
  
  if (key == 'r') {  
    loop();  
  }   
}