Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何填充树并检索c中的值?_C#_Visual Studio 2012 - Fatal编程技术网

C# 如何填充树并检索c中的值?

C# 如何填充树并检索c中的值?,c#,visual-studio-2012,C#,Visual Studio 2012,我正在开发一个用于国际象棋训练的应用程序。其想法是上传一个文件PGN便携式游戏符号no PNG is图像格式,这是一个存储项目数据和移动的文件 每个移动可以有零个、一个或多个变化。我宣布​​一个类来填充树,然后跟随它 然后我创建的类: public class Movida { private int numeroMovida; private string algebraicMove; private int token; private string com

我正在开发一个用于国际象棋训练的应用程序。其想法是上传一个文件PGN便携式游戏符号no PNG is图像格式,这是一个存储项目数据和移动的文件

每个移动可以有零个、一个或多个变化。我宣布​​一个类来填充树,然后跟随它

然后我创建的类:

public class Movida 
{
    private int numeroMovida;
    private string algebraicMove;
    private int token;
    private string comentario;
    private List<Movida> variaciones = new List<Movida>(); 

    public Movida(int numeroMovida, string algebraicMove, int token, string comentario, List<Movida> variaciones) {
        this.numeroMovida = numeroMovida;
        this.algebraicMove = algebraicMove;
        this.token = token;
        this.comentario = comentario;
        this.variaciones = null;
    }
    public void agregarMovida(Movida movida) {
        variaciones.Add(movida);
    }
    public List<Movida> obtenerVariaciones() {
        return variaciones;
    }
}

我想我需要做一个函数来递归地填充树,只是为了向后移动。非常感谢您的帮助。

您应该更清楚一些。这些是PGN格式的国际象棋招式。1.Nf3+18美元gxf3 1…Bxf3 2。a6{这是一条注释}a3 2…b3 3.Nxe1 Raxe1$19{这是另一条注释}3…Rfxe1 3…Nxe1 3。Kh2 1…Kh1 2。Rf5 2。Qh4 f4 3。QXF4$符号是表示移动强度的标记,{}之间有注释。每一步都可以有标记和注释,我正在做一个国际象棋教练,加载PGN文件,在棋盘上的位置,并要求玩家正确的移动。我加载了棋盘,但我在处理移动时遇到了很大的麻烦。我需要将它们解析为一个类,然后检索移动,但从最内部的变化开始,从嵌套到主线。