Когда я использую пример «разрешать только легальные ходы» http://chessboardjs.com/examples#5000, Я могу переместить белые и черные фигуры.
Когда я хочу установить FEN строку в конфигурации, заменяя position: 'start'
от position: 'r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R'
Я не могу переместить уже перемещенные фигуры, и если я перемещу фигуру, которая никогда не была перемещена, все остальные фигуры вернутся в исходное положение.
‘R1bqkbnr / pppp1ppp / 2n5 / 1B2p3 / 4Р3 / 5N2 / PPPP1PPP / RNBQK2R’ недопустимый формат FEN для chess.js, поскольку библиотека не знает ни о каких параметрах (ход: черный или белый, замки, e.t.c).
var game = new Chess();
game.validate_fen('r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R');
//Object {valid: false, error_number: 1, error: "FEN string must contain six space-delimited fields."}
Вы должны использовать правильный FEN для chess.js. Например:
var game = new Chess("rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e3 0 2");
// cfg.position == "rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e3 0 2"
Или вы можете использовать game.load функция. Например:
var game = new Chess();
game.load("rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e3 0 2");
// cfg.position == "rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq e3 0 2"
Других решений пока нет …