board.js
changeset 150 cab72d83a6e6
parent 149 2839f8227a38
parent 145 bf3d47ecd0dd
child 151 bb5994be7eda
equal deleted inserted replaced
149:2839f8227a38 150:cab72d83a6e6
    31     return from[0] === to[0] && from[3] === to[3] && from[12] === to[12] && from[15] === to[15]
    31     return from[0] === to[0] && from[3] === to[3] && from[12] === to[12] && from[15] === to[15]
    32         && from[1] === to[1] && from[2] === to[2]
    32         && from[1] === to[1] && from[2] === to[2]
    33         && from[4] === to[4] && from[5] === to[5] && from[6] === to[6] && from[7] === to[7]
    33         && from[4] === to[4] && from[5] === to[5] && from[6] === to[6] && from[7] === to[7]
    34         && from[8] === to[8] && from[9] === to[9] && from[10] === to[10] && from[11] === to[11]
    34         && from[8] === to[8] && from[9] === to[9] && from[10] === to[10] && from[11] === to[11]
    35         && from[13] === to[13] && from[14] === to[14];
    35         && from[13] === to[13] && from[14] === to[14];
       
    36 }
       
    37 BoardArr.prototype.compress = function() {
       
    38     var brd = this.brd;
       
    39     var h1 = 0;
       
    40     for (var j = 0; j < 4; j++)
       
    41         h1 = (h1 << 4) | brd[0][j];
       
    42     for (var j = 0; j < 4; j++)
       
    43         h1 = (h1 << 4) | brd[1][j];
       
    44     var h2 = 0;
       
    45     for (var j = 0; j < 4; j++)
       
    46         h2 = (h2 << 4) | brd[2][j];
       
    47     for (var j = 0; j < 4; j++)
       
    48         h2 = (h2 << 4) | brd[3][j];
       
    49     return [h1, h2];
    36 }
    50 }
    37 /* Return and optionally fill 2d board.
    51 /* Return and optionally fill 2d board.
    38  * Doesn't designed to be efficient. */
    52  * Doesn't designed to be efficient. */
    39 BoardArr.prototype.exportTo = function(brd) {
    53 BoardArr.prototype.exportTo = function(brd) {
    40     brd = brd || [[],[],[],[]];
    54     brd = brd || [[],[],[],[]];