【问题标题】:how to save current game in chessboard.js如何在chessboard.js中保存当前游戏
【发布时间】:2014-03-09 19:02:35
【问题描述】:

我正在使用chessboard.js 脚本。

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

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

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

【问题讨论】:

    标签: javascript chess chessboard.js


    【解决方案1】:

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

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

    编辑:

    看来您的脚本有误。而不是

    new ChessBoard('board', cfg);
    

    你应该这样做

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

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

    【讨论】:

    • 我认为这不是 OP 所要求的。
    • 感谢您的回答。但我将当前位置保存到数据库。稍后我将使用该位置。可能需要 20 天后。
    【解决方案2】:

    您可以使用返回板的状态

    var saved_positions =  ChessBoard.objToFen(board.position())
    

    ...或者如果您使用 chess.js 库来管理游戏,您可以简单地使用

    var saved_positions = game.fen()  
    


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


    然后使用您可以使用的动画加载保存的棋盘位置:

     board.position(saved_position, true);
    

    或立即设置位置

     board.position(saved_position, false);
    

    享受吧。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多