Cómo puedo llenar y recorrer un árbol en C# recursivamente
Estoy desarrollando una aplicación para entrenar ajedrez. La idea es cargar un archivo PGN Portable Game Notation (no PNG que es formato imagen), que es un archivo donde se almacenan los datos de una partida y además las movidas.
Cada jugada puede tener cero, una o más variaciones. Estoy hecho un lío para llenar el árbol y luego para recorrerlo.
A continuación la clase que he creado:
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; } }
Creo que necesito hacer una función para ingresar llenar el árbol recursivamente, igual para obtener las movidas de vuelta. Cualquier ayuda se agradece.
Respuesta de Luis Angel Octavio Alcaraz Barajas