# HG changeset patch # User Oleksandr Gavenko # Date 1411682220 -10800 # Node ID bf3d47ecd0ddf3ca5fe7a49a33ce9602b1a75e89 # Parent 4734390c343b995cdb940fa17e155c79f6a2bf23 BoardArr.prototype.compress diff -r 4734390c343b -r bf3d47ecd0dd board.js --- a/board.js Thu Sep 25 02:20:48 2014 +0300 +++ b/board.js Fri Sep 26 00:57:00 2014 +0300 @@ -34,6 +34,20 @@ && from[8] === to[8] && from[9] === to[9] && from[10] === to[10] && from[11] === to[11] && from[13] === to[13] && from[14] === to[14]; } +BoardArr.prototype.compress = function() { + var brd = this.brd; + var h1 = 0; + for (var j = 0; j < 4; j++) + h1 = (h1 << 4) | brd[0][j]; + for (var j = 0; j < 4; j++) + h1 = (h1 << 4) | brd[1][j]; + var h2 = 0; + for (var j = 0; j < 4; j++) + h2 = (h2 << 4) | brd[2][j]; + for (var j = 0; j < 4; j++) + h2 = (h2 << 4) | brd[3][j]; + return [h1, h2]; +} /* Return and optionally fill 2d board. * Doesn't designed to be efficient. */ BoardArr.prototype.exportTo = function(brd) {