Exemple #1
0
        //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);
            }
        }