Javascript国际象棋符号转换函数
我正在寻找一个javascript库来转换带有移动符号的PGN文件,包括片段和目标,如:Javascript国际象棋符号转换函数,javascript,node.js,chess,Javascript,Node.js,Chess,我正在寻找一个javascript库来转换带有移动符号的PGN文件,包括片段和目标,如: ... 3. cxd5 Qxd5 ... 仅以平方坐标表示,如: ... 3. c4-d5 h5-d5 ... 如果没有图书馆,这将是一个相当多的工作,使这岩石坚实,因为它必须通过每一步,并验证合法的举动,以确定哪一块可以到达目的地广场 javascript或其他语言中有什么可以帮助我的吗?前言:我不是真正的棋手,也不完全理解PGN。然而,我确实认为这是正确的。如果我不在,请告诉我 既然你说你想做这个服
... 3. cxd5 Qxd5 ...
仅以平方坐标表示,如:
... 3. c4-d5 h5-d5 ...
如果没有图书馆,这将是一个相当多的工作,使这岩石坚实,因为它必须通过每一步,并验证合法的举动,以确定哪一块可以到达目的地广场
javascript或其他语言中有什么可以帮助我的吗?前言:我不是真正的棋手,也不完全理解PGN。然而,我确实认为这是正确的。如果我不在,请告诉我 既然你说你想做这个服务器端,我就找node.js国际象棋软件包。有一群来自美国的漂亮候选人。我最终使用了 app.js
var cjs = require('./chess.js'),
chess = new cjs.Chess(),
pgn = ['[Event "Casual Game"]',
'[Site "Berlin GER"]',
'[Date "1852.??.??"]',
'[EventDate "?"]',
'[Round "?"]',
'[Result "1-0"]',
'[White "Adolf Anderssen"]',
'[Black "Jean Dufresne"]',
'[ECO "C52"]',
'[WhiteElo "?"]',
'[BlackElo "?"]',
'[PlyCount "47"]',
'',
'1.e4 e5 2.Nf3 Nc6 3.Bc4 Bc5 4.b4 Bxb4 5.c3 Ba5 6.d4 exd4 7.O-O',
'd3 8.Qb3 Qf6 9.e5 Qg6 10.Re1 Nge7 11.Ba3 b5 12.Qxb5 Rb8 13.Qa4',
'Bb6 14.Nbd2 Bb7 15.Ne4 Qf5 16.Bxd3 Qh5 17.Nf6+ gxf6 18.exf6',
'Rg8 19.Rad1 Qxf3 20.Rxe7+ Nxe7 21.Qxd7+ Kxd7 22.Bf5+ Ke8',
'23.Bd7+ Kf8 24.Bxe7# 1-0'],
i = 1,
moveHistory;
chess.load_pgn(pgn.join('\n'));
moveHistory = chess.history({ verbose: true });
while (moveHistory.length > 0) {
var p1Move = moveHistory.shift(),
p2Move = moveHistory.shift(),
p1c = p1Move.from + '-' + p1Move.to,
p2c = (p2Move == undefined) ? '' : p2Move.from + '-' + p2Move.to;
console.log(i + '. ' + p1c + ' ' + p2c );
i++;
}
console.log的输出:
1. e2-e4 e7-e5
2. g1-f3 b8-c6
3. f1-c4 f8-c5
4. b2-b4 c5-b4
5. c2-c3 b4-a5
6. d2-d4 e5-d4
7. e1-g1 d4-d3
8. d1-b3 d8-f6
9. e4-e5 f6-g6
10. f1-e1 g8-e7
11. c1-a3 b7-b5
12. b3-b5 a8-b8
13. b5-a4 a5-b6
14. b1-d2 c8-b7
15. d2-e4 g6-f5
16. c4-d3 f5-h5
17. e4-f6 g7-f6
18. e5-f6 h8-g8
19. a1-d1 h5-f3
20. e1-e7 c6-e7
21. a4-d7 e8-d7
22. d3-f5 d7-e8
23. f5-d7 e8-f8
24. a3-e7
另一方面,模拟整个游戏似乎是一个有趣的项目:-)在谷歌搜索
javascript pgn库
这个问题列在第8位。这有一个术语吗?也许是量子力学的一些东西,关于观察影响结果的事实。第一次点击谷歌:,第二次:,第三次:@Christoph感谢这些链接。不幸的是,我想在服务器上使用nodejs和那些库来完成所有这些工作,而其他大多数都是为了在浏览器中输出一个工作的查看器。我似乎无法提取相关部分,因为它们非常完整