⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tetrixpiece.js

📁 奇趣公司比较新的qt/emd版本
💻 JS
字号:
TetrixShape = {    NoShape:0,    ZShape:1,    SShape:2,    LineShape:3,    TShape:4,    SquareShape:5,    LShape:6,    MirroredLShape:7}TetrixCoordsTable = [    [ [ 0,   0 ], [ 0,  0 ], [ 0,  0 ], [ 0,  0 ] ],    [ [ 0,  -1 ], [ 0,  0 ], [ -1, 0 ], [ -1, 1 ] ],    [ [ 0,  -1 ], [ 0,  0 ], [ 1,  0 ], [ 1,  1 ] ],    [ [ 0,  -1 ], [ 0,  0 ], [ 0,  1 ], [ 0,  2 ] ],    [ [ -1,  0 ], [ 0,  0 ], [ 1,  0 ], [ 0,  1 ] ],    [ [ 0,   0 ], [ 1,  0 ], [ 0,  1 ], [ 1,  1 ] ],    [ [ -1, -1 ], [ 0, -1 ], [ 0,  0 ], [ 0,  1 ] ],    [ [ 1,  -1 ], [ 0, -1 ], [ 0,  0 ], [ 0,  1 ] ]]function TetrixPiece(){    this.shape = TetrixShape.NoShape;}TetrixPiece.prototype.__defineGetter__(    "shape",    function() {      return this._shape;    });TetrixPiece.prototype.__defineSetter__(    "shape",    function(shape) {      this._shape = shape;      this._coords = new Array(4);      for (var i = 0; i < 4; ++i)          this._coords[i] = TetrixCoordsTable[shape][i].slice();    });TetrixPiece.prototype.setRandomShape = function() {    this.shape = Math.floor(((Math.random() * 100000) % 7) + 1);}TetrixPiece.prototype.getX = function(index) {    return this._coords[index][0];}TetrixPiece.prototype.getY = function(index) {    return this._coords[index][1];}TetrixPiece.prototype._setX = function(index, x) {    this._coords[index][0] = x;}TetrixPiece.prototype._setY = function(index, y) {    this._coords[index][1] = y;}TetrixPiece.prototype.__defineGetter__(    "minX",    function() {        var min = this._coords[0][0];        for (var i = 1; i < 4; ++i)            min = Math.min(min, this._coords[i][0]);        return min;    });TetrixPiece.prototype.__defineGetter__(    "maxX",    function() {        var max = this._coords[0][0];        for (var i = 1; i < 4; ++i)            max = Math.max(max, this._coords[i][0]);        return max;    });TetrixPiece.prototype.__defineGetter__(    "minY",    function() {      var min = this._coords[0][1];      for (var i = 1; i < 4; ++i)          min = Math.min(min, this._coords[i][1]);      return min;    });TetrixPiece.prototype.__defineGetter__(    "maxY",    function() {        var max = this._coords[0][1];        for (var i = 1; i < 4; ++i)            max = Math.max(max, this._coords[i][1]);        return max;    });TetrixPiece.prototype.rotatedLeft = function() {    var result = new TetrixPiece();    if (this._shape == TetrixShape.SquareShape) {        result.shape = this._shape;        return result;    }    result._shape = this._shape;    for (var i = 0; i < 4; ++i) {        result._setX(i, this.getY(i));        result._setY(i, -this.getX(i));    }    return result;}TetrixPiece.prototype.rotatedRight = function() {    var result = new TetrixPiece();    if (this._shape == TetrixShape.SquareShape) {        result.shape = this._shape;        return result;    }    result._shape = this._shape;    for (var i = 0; i < 4; ++i) {        result._setX(i, -this.getY(i));        result._setY(i, this.getX(i));    }    return result;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -