如何使用 TikZ 树来可视化国际象棋动作?

如何使用 TikZ 树来可视化国际象棋动作?

我正在构建一个国际象棋曲目,并希望使用 TikZ 将其可视化为一棵树。

下面是我想要实现的一个例子(来源:https://kevinbinz.com/2015/02/26/decision-trees-in-chess/

  • 交替颜色的圆形节点,
  • 在边缘移动,
  • 最后一个矩形节点中的文本(位置评估)。

精确的字体、颜色代码、节点装饰和箭头形状都无关紧要。

例子

笔记。任何数据都可以用于答案。

答案1

这应该足以让你开始:

\documentclass{article}
\usepackage{forest}
\forestset{end node/.style={draw,rectangle, fill=green!30,minimum width=1cm},
           chess tree/.style={for tree={align=center,edge={-latex},s sep=1cm,l sep=1cm,
           where n children=0{end node, edge={-}}{delay={draw, circle,minimum size=1cm, 
           if={iseven(level())}{fill=white}{fill=black!20}}}}},
           move/.style={if n=1{edge label={node[midway,left]{#1}}}
                              {edge label={node [midway, right]{#1}}}}}
\begin{document}
\begin{forest}chess tree
[
    [,move=Be3,
        [,move=g5
            [{[1a]\\-3}]
        ]
    ] 
    [,move=Bh6
        [{[2a]\\-2}]
    ]
]
\end{forest}
\end{document}

代码输出

相关内容