tetromino classes   "St" , "Lt"

header drieh nh

De draaipunten 0 t/m 8 van de tetromino's        terug naar de inleiding

tetromino class   "St"

argumenten van de constructor: 
1) grootte n,  2) lr li = 1 en lr re = 0,  3)  draaipunt d,  4)  x positie,  5) y positie,  6) hoek,  7) kleur c, 8) = lijndikte sw,  9) = lijnkleur sc

 

 


class St extends Vormen {
  constructor(n, lr, d, x, y, hoek, c, sw, sc) {
    super(x, y, hoek);
    this.x  = x; this.y  = y;  this.hoek = hoek;
    this.n  = n; this.lr = lr; this.d = d; this.c = c; this.sw = sw; this.sc = sc;
}
 
 display() {
 fill(this.c);
 strokeWeight(this.sw);
 stroke(this.sc);
 push();
 translate(this.x, this.y);
 rotate(radians(this.hoek));
 beginShape();
 
 if (this.d == 0 && this.lr == 1) {vertex(-1.5*this.n,this.n);vertex(-1.5*this.n,0);vertex(-this.n/2,0);vertex(-this.n/2,-this.n);
                         vertex(1.5*this.n,-this.n);vertex(1.5*this.n,0); vertex(this.n/2,0);   vertex(this.n/2, this.n);}
 if (this.d == 0 && this.lr == 0) {vertex(-this.n/2,this.n);  vertex(-this.n/2,0);vertex(-1.5*this.n,0);vertex(-1.5*this.n,-this.n);
                         vertex(this.n/2,-this.n);  vertex(this.n/2,0);   vertex(1.5*this.n,0); vertex(1.5*this.n,this.n);}
 if (this.d == 1 && this.lr == 1) {vertex(0,0);     vertex(0,-this.n);    vertex(this.n,-this.n);    vertex(this.n,-2*this.n);
                         vertex(3*this.n,-2*this.n);vertex(3*this.n,-this.n);vertex(2*this.n,-this.n);vertex(2*this.n, 0);}
 if (this.d == 1 && this.lr == 0) {vertex(0,0);     vertex(0,-this.n);    vertex(-this.n,-this.n);   vertex(-this.n,-2*this.n);
                         vertex(this.n,-2*this.n);  vertex(this.n,-this.n);    vertex(2*this.n,-this.n);vertex(2*this.n, 0);}
 if (this.d == 2 && this.lr == 1) {vertex(0,this.n);     vertex(0,0);     vertex(this.n,0);     vertex(this.n,-this.n);
                         vertex(3*this.n,-this.n);  vertex(3*this.n,0);   vertex(2*this.n,0);   vertex(2*this.n, this.n);}
 if (this.d == 2 && this.lr == 0) {vertex(0,this.n);     vertex(0,0);     vertex(-this.n,0);    vertex(-this.n,-this.n);
                         vertex(this.n,-this.n);    vertex(this.n,0);     vertex(2*this.n,0);   vertex(2*this.n, this.n);}
 if (this.d == 3 && this.lr == 1) {vertex(-this.n,this.n);    vertex(-this.n,0);    vertex(0,0);vertex(0,-this.n);
                         vertex(2*this.n,-this.n);  vertex(2*this.n,0);   vertex(this.n,0);     vertex(this.n, this.n);}
 if (this.d == 3 && this.lr == 0) {vertex(this.n,this.n);     vertex(this.n,0);     vertex(0,0);vertex(0,-this.n);
                         vertex(2*this.n,-this.n);  vertex(2*this.n,0);   vertex(3*this.n,0);   vertex(3*this.n, this.n);}
 if (this.d == 4 && this.lr == 1) {vertex(-this.n,2*this.n);vertex(-this.n,this.n);vertex(0,this.n); vertex(0,0);
                         vertex(2*this.n,0);   vertex(2*this.n,this.n);   vertex(this.n,this.n);vertex(this.n, 2*this.n);}
 if (this.d == 4 && this.lr == 0) {vertex(this.n,2*this.n);vertex(this.n,this.n); vertex(0,this.n);  vertex(0,0);
                         vertex(2*this.n,0);   vertex(2*this.n,this.n);   vertex(3*this.n,this.n);   vertex(3*this.n, 2*this.n);}
 if (this.d == 5 && this.lr == 1) {vertex(-3*this.n,2*this.n);vertex(-3*this.n,this.n);  vertex(-2*this.n,this.n);  vertex(-2*this.n,0);
                         vertex(0,0);     vertex(0,this.n);  vertex(-this.n,this.n);    vertex(-this.n, 2*this.n);}
 if (this.d == 5 && this.lr == 0) {vertex(-this.n,2*this.n); vertex(-this.n,this.n);    vertex(-2*this.n,this.n);  vertex(-2*this.n,0);
                         vertex(0,0); vertex(0,this.n); vertex(this.n,this.n); vertex(this.n, 2*this.n);}
 if (this.d == 6 && this.lr == 1) {vertex(-3*this.n,this.n);vertex(-3*this.n,0);vertex(-2*this.n,0);vertex(-2*this.n,-this.n);
                         vertex(0,-this.n);vertex(0,0);vertex(-this.n,0);vertex(-this.n, this.n);}
 if (this.d == 6 && this.lr == 0) {vertex(-this.n,this.n);vertex(-this.n,0);vertex(-2*this.n,0);vertex(-2*this.n,-this.n);
                         vertex(0,-this.n);vertex(0,0);vertex(this.n,0);vertex(this.n, this.n);}
 if (this.d == 7 && this.lr == 1) {vertex(-2*this.n,this.n);vertex(-2*this.n,this.n,0);vertex(-this.n,0);vertex(-this.n,-this.n);
                         vertex(this.n,-this.n);vertex(this.n,0);vertex(0,0);vertex(0, this.n);}
 if (this.d == 7 && this.lr == 0) {vertex(-2*this.n,this.n);vertex(-2*this.n,0);vertex(-3*this.n,0);vertex(-3*this.n,-this.n);
                         vertex(-this.n,-this.n);vertex(-this.n,0);vertex(0,0);vertex(0, this.n);}
if (this.d == 8 && this.lr == 1)  {vertex(-2*this.n,0);vertex(-2*this.n,-this.n);vertex(-this.n,-this.n);vertex(-this.n,-2*this.n);
                         vertex(this.n,-2*this.n);vertex(this.n,-this.n);vertex(0,-this.n);vertex(0, 0);}
if (this.d == 8 && this.lr == 0)  {vertex(-2*this.n,0);vertex(-2*this.n,-this.n);vertex(-3*this.n,-this.n);vertex(-3*this.n,-2*this.n);
                         vertex(-this.n,-2*this.n); vertex(-this.n,-this.n);   vertex(0,-this.n);    vertex(0, 0);}
 endShape(CLOSE);
 pop();
 }
}

 

header Lt

class tetromino "Lt"

 
 
class Lt extends Vormen { 
 constructor(n, lr, d, x, y, hoek, c, sw, sc) { 
 super(x, y, hoek); 
 this.x = x; this.y = y; this.hoek = hoek; 
 this.n = n; this.lr = lr; this.d = d; this.c = c; this.sw = sw; this.sc = sc; 
} 

display() { 
 fill(this.c); 
 let n = this.n; let d = this.d; let lr = this.lr; 
 strokeWeight(this.sw); 
 stroke(this.sc); 
 push(); 
 translate(this.x, this.y); 
 rotate(radians(this.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); 
 pop(); 
 } 
}