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 || [[],[],[],[]]; |