33 lines
661 B
JavaScript
33 lines
661 B
JavaScript
function ZigZagMatrix(n) {
|
|
this.height = n;
|
|
this.width = n;
|
|
|
|
this.mtx = [];
|
|
for (var i = 0; i < n; i++)
|
|
this.mtx[i] = [];
|
|
|
|
var i=1, j=1;
|
|
for (var e = 0; e < n*n; e++) {
|
|
this.mtx[i-1][j-1] = e;
|
|
if ((i + j) % 2 == 0) {
|
|
// Even stripes
|
|
if (j < n) j ++;
|
|
else i += 2;
|
|
if (i > 1) i --;
|
|
} else {
|
|
// Odd stripes
|
|
if (i < n) i ++;
|
|
else j += 2;
|
|
if (j > 1) j --;
|
|
}
|
|
}
|
|
}
|
|
ZigZagMatrix.prototype = Matrix.prototype;
|
|
|
|
var z = new ZigZagMatrix(5);
|
|
print(z);
|
|
print();
|
|
|
|
z = new ZigZagMatrix(4);
|
|
print(z);
|