// 旋转 Square.prototype.canRotate = function (isValid) { let d = (this.dire + 1) % 4; let test = [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ]; for (let i = 0; i < this.data.length; i++) { for (let j = 0; j < this.data[0].length; j++) { test[i][j] = this.rotates[d][i][j]; } } return isValid(this.origin, test); }; Square.prototype._rotate = function (num) { if (!num) { num = 1; } this.dir = (this.dir + num) % 4; this.dire += 1; for (let i = 0; i < this.data.length; i++) { for (let j = 0; j < this.data[0].length; j++) { this.data[i][j] = this.rotates[this.dire][i][j]; } } };
已经解决