Example #1
0
        //genera el laberinto y encuentra una ruta entre inicio y fin
        private int BuscarNodoFuncional()
        {
            var ProbarLaberinto = new DibujarLaberinto(pbMaze);
            var BuscarCamino    = new DepthFirst(ProbarLaberinto.Cuadrilla);
            var progress        = BuscarCamino.MarcarRuta();

            while (progress.RutaPosible && !progress.RutaEncontrada)
            {
                progress = BuscarCamino.MarcarRuta();
            }
            return(progress.RutaEncontrada ? ProbarLaberinto.Seed : 0);
        }
Example #2
0
        private void IniciarLaberinto()
        {
            _CronoRecorrer.Stop();

            var workingSeed = BuscarNodoFuncional();

            while (workingSeed == 0)
            {
                workingSeed = BuscarNodoFuncional();
            }

            AlgoritmoActual = -1;
            _LaberintoNuevo = new DibujarLaberinto(pbMaze, workingSeed);
            _algoritmo      = new AlgoritmoBase[] { new AEstrella(_LaberintoNuevo.Cuadrilla) };
            Text            = @"A (Estrella) ";
            _LaberintoNuevo.Dibujar();
        }