pragmaticLogic.Horse=function(f,b,e,d,a){this.superclass(f,b,e,d,3,1,a)};pragmaticLogic.Horse.prototype=new pragmaticLogic.BasePiece();pragmaticLogic.Horse.prototype.superclass=pragmaticLogic.BasePiece;pragmaticLogic.Horse.prototype.step=[-11,-15,-25,-27,11,15,25,27];pragmaticLogic.Horse.prototype.obstructed=[1,-1,-9,-9,-1,1,9,9];pragmaticLogic.Horse.prototype.render=function(){this.superclass.prototype.render.apply(this)};pragmaticLogic.Horse.prototype.findLegalMoves=function(){var b=[];for(var c=0;c<this.step.length;c++){var d=pragmaticLogic.BasePiece.MAILBOX90[this.position]+this.step[c];var e=pragmaticLogic.BasePiece.MAILBOX182[d];if(e!=-1&&(this.game.vertex[e]==null||this.game.vertex[e].color!=this.color)&&(pragmaticLogic.BasePiece.LEGALPOS[e]&pragmaticLogic.BasePiece.MASKPIECE[this.color][this.type])!=0){if(this.game.vertex[this.position+this.obstructed[c]]==null){if(this.superclass.prototype.isSafeMove.apply(this,[this.position,e])){var a=new pragmaticLogic.Move(this.position,e);b.push(a)}}}}return b};pragmaticLogic.Horse.prototype.attackGeneral=function(h,f,g,e){var d=pragmaticLogic.Board.getBoardPos(h,f);for(var a=0;a<this.step.length;a++){var c=pragmaticLogic.BasePiece.MAILBOX90[this.position];var b=pragmaticLogic.BasePiece.MAILBOX182[c+this.step[a]];if(b==d){if(this.game.vertex[this.position+this.obstructed[a]]==null){return true}}}return false};