我绞尽脑汁,尝试了数周,但通过 php 脚本、chesscanvas 和 python 脚本,无法解决这个问题。我想从国际象棋变异树构建一个 D3.js 树。
国际象棋被软件记录为 PGN。它在变体方面是分层的,并且本身几乎就像一个 JSON 文件,除了 D3.js 树需要嵌套的每个移动来绘制树。
这是 .PGN 本质上的样子,添加了变化或分支
PGN 文件显示了文件的结构,但是当您复制并粘贴它时,文本阅读器会看到这个……这就是代码在解析它时会看到的内容。
1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 (3... Nf6 {- Berlin Defense} 4. O-O (4. d3 {Like
all of the d3 lines, the eval is equal} 4... Bc5 (4... Nd4 5. Nxd4 exd4 6.
O-O c6 7. Bc4 d5 8. exd5 cxd5 9. Bb5+ Bd7 10. Bxd7+ Qxd7 11. Re1+ Kd8 (11... Be7
12. Bf4 O-O 13. Nd2 …Run Code Online (Sandbox Code Playgroud)