X-Git-Url: https://git.sesse.net/?p=remoteglot;a=blobdiff_plain;f=www%2Fjs%2Fchess.js;h=9da372c9d920526f9802dc8fa63a9c0bed97c35f;hp=6d6623e4d90005e7b5616346ca920391a4963d17;hb=b4059a786029132eb27769a42ca52eca6d8b44cc;hpb=7de3f2a065a0928d9e3b6f278464ca6258e2e6c9 diff --git a/www/js/chess.js b/www/js/chess.js index 6d6623e..9da372c 100644 --- a/www/js/chess.js +++ b/www/js/chess.js @@ -997,14 +997,14 @@ var Chess = function(fen) { if (move.flags & BITS.KSIDE_CASTLE) { var castling_to = move.to - 1; var castling_from = move.rook_sq; - board[castling_to] = board[castling_from]; - if(castling_from !== move.to) + board[castling_to] = {type: ROOK, color: us}; + if(castling_from !== move.to && castling_from !== castling_to) board[castling_from] = null; } else if (move.flags & BITS.QSIDE_CASTLE) { var castling_to = move.to + 1; var castling_from = move.rook_sq; - board[castling_to] = board[castling_from]; - if(castling_from !== move.to) + board[castling_to] = {type: ROOK, color: us}; + if(castling_from !== move.to && castling_from !== castling_to) board[castling_from] = null; } @@ -1105,7 +1105,7 @@ var Chess = function(fen) { } board[castling_to] = board[castling_from]; - if(castling_from !== move.from) + if(castling_from !== move.from && castling_from !== castling_to) board[castling_from] = null; }