public Astar(Quadrado o, Quadrado d, Cubo c) { origem = o; estado = null; destino = d; cubo = c; fechados = new List <Quadrado>(); aberto = new List <Quadrado>(); }
static void Main(string[] args) { int tam = 0; Console.Write("Tamanho do cubo (Ex: 3) : "); tam = Convert.ToInt32(Console.ReadLine()); Cubo cubo = new Cubo(tam); Console.WriteLine("65% de obstaculos gerados: "); cubo.GeraObstaculos(); cubo.Obstaculos.ForEach(n => Console.WriteLine(n.pos)); Console.WriteLine("Posição inicial: "); Quadrado q = Posicao(cubo.Obstaculos, tam); Console.WriteLine("Destino: "); Quadrado q1 = Posicao(cubo.Obstaculos, tam); Astar astar = new Astar(q, q1, cubo); astar.AstarEncontra(); Console.WriteLine("----------------------------------------"); Console.WriteLine("Tamanho do cubo: " + tam); Console.WriteLine("Obstaculos: "); cubo.Obstaculos.ForEach(n => Console.WriteLine(" " + n.pos)); Console.WriteLine("Posicao inicio - : " + astar.Origem.pos); Console.WriteLine("Posicao destino - : " + astar.Destino.pos); Console.WriteLine("Custo total - : " + astar.Estado.Custo); Console.WriteLine("Caminho percorrido :"); if (astar.Estado.pos.Equals(astar.Destino.pos)) { Console.WriteLine("Possui solução desta origem"); } else { Console.WriteLine("Não possui solução desta origem"); } astar.Estado.ExibeCaminho(astar.Estado); Console.ReadKey(); }