我有自己的pgn解析器,它支持n个并行变化和嵌套变化。
我已经编写了一个包装器来与它一起使用chessboard.js。
我面临两个问题
这两个问题具有相同的共同根源,即替换某一特定位置上的部件。一种解决方案似乎提供了FEN来封装对象并设置它。
没有在文件里找到任何东西。我想要一些其他优雅的解决方案,在其中,我可以替换一个特定的片段类型,任何建议都会有帮助。
编辑根据实例看,实现对en passant的替换的唯一方法是
// for castling, en passant, pawn promotion
var onSnapEnd = function() {
board.position(game.fen());// re positioning board by providing FEN
}; 提供board.move("<en passant>")执行移动,但不移除实际位于目标位置前面的典当。
发布于 2020-04-20 13:16:01
要移动任何片段,您必须在初始化chessboard js对象时注册onDrop处理程序。这一职能应返回:
当您从onDrop返回任何这些值时,板将相应地更新。
请注意,处理促销是很棘手的,因为您需要选择要推广的部分。
任何时候你想要更新董事会(例如一旦用户选择了一个推广项目),只需使用一个新的分,这样做,例如:
board.position(fen);https://stackoverflow.com/questions/30764371
复制相似问题