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