//Algortmo de resolucion del laberinto public Point moveAgent(params Point[] directions) { if (Camino.Count == 1) { Camino.Push(directions[0]); CeldasMarcadas.Add(directions[0]); return(directions[0]); } else { foreach (Point point in directions) { if (!CeldasMarcadas.Contains(point)) { CeldasMarcadas.Add(point); Camino.Push(point); return(point); } } Camino.Pop(); foreach (Point punto in directions) { if (punto.Equals(Camino.Peek())) { return(punto); } } return(end); } }