diff --git a/chess/board.js b/chess/board.js index 775f806..796cd97 100644 --- a/chess/board.js +++ b/chess/board.js @@ -234,6 +234,26 @@ var Board = (function() { return move; } + function undoMove() { + var board = []; + var last = state[state.length - 1].board; + var x,y; + for (var i=0;i 0 ? --move : 0; - Board.setState(move); - } else if (Input.key_state[Key.RIGHT]) { - Input.key_state[Key.RIGHT] = 0; - move < Board.getMove() ? move++ : move; - Board.setState(move); + Pieces.select(dx,dy); + move = Board.getMove(); } } } else { diff --git a/chess/pieces.js b/chess/pieces.js index 185979f..709f4f3 100644 --- a/chess/pieces.js +++ b/chess/pieces.js @@ -395,7 +395,7 @@ var Pieces = (function() { selected = false; setMoveTarget(selsquare, square, 1000); setAnimatingCB(Publish.sendMove); -// Chess.newGameState('moved'); + Chess.newGameState('moved'); } } } diff --git a/chess/publish.js b/chess/publish.js index 8dd7fba..7ec5414 100644 --- a/chess/publish.js +++ b/chess/publish.js @@ -171,12 +171,14 @@ var Publish = (function() { cmd.to = req.from.id; } FB.ui(cmd, function(response) { - if (response && !response.error) { - player.active_req = 0; - removeRequest(req); - Chess.newGameState('menu'); - } - }); + if (response && !response.error) { + player.active_req = 0; + removeRequest(req); + Chess.newGameState('menu'); + } else { + Board.undoMove(); + } + }); } function sendMove() {