如何在chessboard.js中保存当前游戏

时间:2014-03-09 19:02:36

标签: javascript chess chessboard.js

我正在使用chessboard.js脚本。

但是我遇到了一个问题。我想保存当前游戏,保存当前位置,下次使用保存的当前位置。

var cfg = { 
        position: 'r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R'
    };
var board = new ChessBoard('board', cfg);

当前位置显示正确。但是当我移动时,它会进入“开始”状态。

2 个答案:

答案 0 :(得分:1)

要在浏览器中存储,您可以使用cookieslocalstorage

或者,您可以将状态发送到服务器,然后使用AJAX读取它。

修改

看起来你的脚本有误。而不是

new ChessBoard('board', cfg);

你应该做

new ChessBoard('board', cfg.position);

文档:http://chessboardjs.com/examples#1003

答案 1 :(得分:0)

您可以使用

返回电路板的状态
var saved_positions =  ChessBoard.objToFen(board.position())

...或者如果您使用chess.js库来管理游戏,您只需使用

var saved_positions = game.fen()  

两者都将返回一个包含棋盘上每件棋子位置的字符串。


然后使用动画加载已保存的纸板位置:

 board.position(saved_position, true);

或立即设置位置

 board.position(saved_position, false);

享受。