在Chessboard.js中检查Checkmate

时间:2019-01-04 17:36:52

标签: javascript chess chessboard.js

我用Chessboardjs制作国际象棋游戏,我想检查棋子。

我该怎么做?

我正在使用该代码,但无法正常工作。

if (game.game_over() == true) {
    alert("Game Over");
}

整个功能是:

var onDragStart = function (source, piece, position, orientation) {
    if (game.game_over() == true) {
        alert("Game Over");
    }
    if (turn == 1) {
        if (piece.search(/^b/) === -1) {
            return false;
        }
    } else {
        if (piece.search(/^w/) === -1) {
            return false;
        }
    }

    if (turn == 1) {
        turn = 0;
    } else {
        turn = 1;
    }
};

2 个答案:

答案 0 :(得分:0)

要确定游戏结束,您必须计算该边移动的可能合法移动。 没有合法的举动表明比赛已经结束。 如果没有合法移动,并且移动的一方处于检定=>将死。 否则会僵持。

答案 1 :(得分:0)

要检查棋位置的状态,您不仅需要棋盘表示,还需要棋引擎(了解/执行棋规则的程序) 。 javascript的最爱是:chess.jschessboard.js仅是板的图形表示,不包括检查可能的移动等所需的任何逻辑)< / p>

就像这个问题How can I integrate chess.js and chessboard.js?

这些库经常一起使用:https://github.com/jhlywa/chess.js/

从那里您可以访问国际象棋规则:https://github.com/jhlywa/chess.js/#game_over