tetromino classes "St" , "Lt"
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();
}
}
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();
}
}