//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); }
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(); }