pragmaticLogic.Move=function(b,a){this.from=b;this.dest=a};pragmaticLogic.BasePiece=function(j,b,h,d,a,f,e){this.defaultPos=j;this.position=j;this.id=b;this.color=h;this.set=d;this.type=a;this.nSteps=f;this.game=e;this.alive=true;this.pieceView=new pragmaticLogic.PieceView(a,h,b,d,e)};pragmaticLogic.BasePiece.prototype.reset=function(){this.position=this.defaultPos;this.alive=true;this.pieceView.erase(false);this.pieceView.render(this.position)};pragmaticLogic.BasePiece.prototype.isSafeMove=function(f,a){var e=pragmaticLogic.Board.X_LOOKUP[this.game.hashPieces[this.color][6][0].position];var d=pragmaticLogic.Board.Y_LOOKUP[this.game.hashPieces[this.color][6][0].position];var c=(this.color==0)?1:0;for(var b=0;b<pragmaticLogic.BasePiece.ATTACKPIECE.length;b++){if(this.game.checkAttackingPiece(f,a,c,pragmaticLogic.BasePiece.ATTACKPIECE[b],e,d)){return false}}return true};pragmaticLogic.BasePiece.prototype.moveToMove=function(a){this.game.vertex[this.position]=null;this.position=a.dest};pragmaticLogic.BasePiece.prototype.moveToPos=function(a){this.game.vertex[this.position]=null;this.position=a;this.game.vertex[this.position]=this};pragmaticLogic.BasePiece.prototype.moveToPosForTest=function(d){this.moveToPos(d);var a=pragmaticLogic.Board.X_LOOKUP[d];var e=pragmaticLogic.Board.Y_LOOKUP[d];var c=pragmaticLogic.BoardConst.CX*a+pragmaticLogic.BoardConst.OFFSET_X-pragmaticLogic.BoardConst.PIECE_HALF_SIZE+"px";var b=pragmaticLogic.BoardConst.CY*e+pragmaticLogic.BoardConst.OFFSET_Y-pragmaticLogic.BoardConst.PIECE_HALF_SIZE+"px";this.pieceView.eDiv.setStyle("left",c);this.pieceView.eDiv.setStyle("top",b)};pragmaticLogic.BasePiece.prototype.die=function(){this.game.vertex[this.position]=null;this.alive=false;this.position=-2;this.pieceView.erase(true)};pragmaticLogic.BasePiece.prototype.attackGeneral=function(d,b,c,a){};pragmaticLogic.BasePiece.prototype.findLegalMoves=function(){};pragmaticLogic.BasePiece.prototype.render=function(){var a=this.pieceView.render(this.position);if(this.color==0){a.setAttribute("class","opponentPiece "+this.game.getPiecesContainerId());a.setAttribute("className","opponentPiece "+ +this.game.getPiecesContainerId())}else{a.setAttribute("class","piece "+this.game.getPiecesContainerId());a.setAttribute("className","piece "+this.game.getPiecesContainerId())}this.game.addPiece(a)};pragmaticLogic.BasePiece.prototype.changeSet=function(a){this.set=a;this.pieceView.changeSet(a)};pragmaticLogic.BasePiece.PAWN=0;pragmaticLogic.BasePiece.GUARD=1;pragmaticLogic.BasePiece.ELEPHANT=2;pragmaticLogic.BasePiece.HORSE=3;pragmaticLogic.BasePiece.CANNON=4;pragmaticLogic.BasePiece.TANK=5;pragmaticLogic.BasePiece.GENERAL=6;pragmaticLogic.BasePiece.MAILBOX182=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,-1,-1,-1,-1,9,10,11,12,13,14,15,16,17,-1,-1,-1,-1,18,19,20,21,22,23,24,25,26,-1,-1,-1,-1,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,36,37,38,39,40,41,42,43,44,-1,-1,-1,-1,45,46,47,48,49,50,51,52,53,-1,-1,-1,-1,54,55,56,57,58,59,60,61,62,-1,-1,-1,-1,63,64,65,66,67,68,69,70,71,-1,-1,-1,-1,72,73,74,75,76,77,78,79,80,-1,-1,-1,-1,81,82,83,84,85,86,87,88,89,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];pragmaticLogic.BasePiece.MAILBOX90=[28,29,30,31,32,33,34,35,36,41,42,43,44,45,46,47,48,49,54,55,56,57,58,59,60,61,62,67,68,69,70,71,72,73,74,75,80,81,82,83,84,85,86,87,88,93,94,95,96,97,98,99,100,101,106,107,108,109,110,111,112,113,114,119,120,121,122,123,124,125,126,127,132,133,134,135,136,137,138,139,140,145,146,147,148,149,150,151,152,153];pragmaticLogic.BasePiece.LEGALPOS=[9,9,13,11,11,11,13,9,9,9,9,9,11,11,11,9,9,9,13,9,9,11,15,11,9,9,13,9,9,9,9,9,9,9,9,9,9,9,13,9,9,9,13,9,9,9,1,13,1,9,1,13,1,9,1,1,1,1,1,1,1,1,1,5,1,1,19,21,19,1,1,5,1,1,1,17,19,17,1,1,1,1,1,5,19,17,19,5,1,1];pragmaticLogic.BasePiece.MASKPIECE=[[8,2,4,1,1,1,2],[8,2,4,1,1,1,16]];pragmaticLogic.BasePiece.ATTACKPIECE=[pragmaticLogic.BasePiece.TANK,pragmaticLogic.BasePiece.CANNON,pragmaticLogic.BasePiece.HORSE,pragmaticLogic.BasePiece.PAWN,pragmaticLogic.BasePiece.GENERAL];pragmaticLogic.BasePiece.GENERAL_BOX=[3,4,5,12,13,14,21,22,23,66,67,68,75,76,77,84,85,86];