Пример #1
0
        public void AEstrela_Dominio_ProcurarCaminho_DeveRetornaMenorCaminho_InicioFinalMatriz()
        {
            int     alturaGrid    = 10;
            int     larguraGrid   = 10;
            decimal custoDiagonal = 1.4m;
            decimal custoVH       = 1;
            int     inicioX       = 0;
            int     inicioY       = 9;
            int     finalX        = 9;
            int     finalY        = 9;

            inicial   = new Nodo(inicioX, inicioY);
            destino   = new Nodo(finalX, finalY);
            bloqueios = new List <Nodo>()
            {
                new Nodo(4, 0),
                new Nodo(4, 1),
                new Nodo(4, 2),
                new Nodo(4, 3),
                new Nodo(4, 4),
                new Nodo(4, 5),
                new Nodo(4, 6),
                new Nodo(4, 7)
            };
            aEstrela = new AEstrelaPathfind(alturaGrid, larguraGrid, bloqueios, inicial, destino, custoDiagonal, custoVH);
            int numeroDeNodosEsperados = 9;

            aEstrela.Bloqueados = bloqueios;

            List <Nodo> resultado = aEstrela.ProcurarCaminho();

            resultado.Count.Should().Be(numeroDeNodosEsperados);
        }
Пример #2
0
        private void buttonBuscar_Click(object sender, System.EventArgs e)
        {
            _timer = new Stopwatch();
            _timer.Start();

            _algoritmo = new AEstrelaPathfind(
                Convert.ToInt32(Math.Round(numericUpDownDimensao.Value)),
                Convert.ToInt32(Math.Round(numericUpDownDimensao.Value)),
                _bloqueados,
                _inicial,
                _destino,
                numericUpDownCustoDiag.Value,
                numericUpDownCustoVH.Value);
            _caminho    = _algoritmo.ProcurarCaminho();
            _gerados    = _algoritmo.Gerados;
            _expandidos = _algoritmo.Expandidos;

            _timer.Stop();
            PintarGrid();
            AtribuirEstatisticas();
        }
Пример #3
0
        public void AEstrela_Dominio_ProcurarCaminho_DeveRetornaMenorCaminho_InicioPenultimaLinha()
        {
            int     alturaGrid    = 20;
            int     larguraGrid   = 20;
            decimal custoDiagonal = 1.4m;
            decimal custoVH       = 1;
            int     inicioX       = 0;
            int     inicioY       = 18;
            int     finalX        = 19;
            int     finalY        = 19;

            inicial   = new Nodo(inicioX, inicioY);
            destino   = new Nodo(finalX, finalY);
            bloqueios = new List <Nodo>();
            aEstrela  = new AEstrelaPathfind(alturaGrid, larguraGrid, bloqueios, inicial, destino, custoDiagonal, custoVH);
            int numeroDeNodosEsperados = 19;

            aEstrela.Bloqueados = bloqueios;

            List <Nodo> resultado = aEstrela.ProcurarCaminho();

            resultado.Count.Should().Be(numeroDeNodosEsperados);
        }