static void Main(string[] args) { int option; bool origen = false, destino = false; BAmplitud busqueda_amplitud = new BAmplitud(); matrixState matrix_origin = new matrixState(), matrix_goal = new matrixState(); do { option = menu(); switch (option) { case 1: // Ingresa el original matrix_origin = new matrixState(0, 1, 2, 3, 4, 5, 6, 7, 8); busqueda_amplitud.setOrigin(matrix_origin); origen = true; break; case 2: // Ingresa meta matrix_goal = new matrixState(1, 2, 3, 4, 5, 6, 7, 8, 0); busqueda_amplitud.setDestiny(matrix_goal); destino = true; break; case 3: // Mostrar origen y destino if (origen) { Console.WriteLine("\n\tOrigen:"); matrix_origin.printMatrix(); } if (destino) { Console.WriteLine("\n\tDestino:"); matrix_goal.printMatrix(); } Console.ReadLine(); break; case 4: // Solucion if (origen && destino) { Console.WriteLine("\n\n\t Busqueda por amplitud"); if (busqueda_amplitud.calculate_steps(35)) { matrixState auxiliar = new matrixState(); matrix_origin.setValues(auxiliar); busqueda_amplitud.goTroughtMovements(auxiliar, busqueda_amplitud.solucion(), true); Console.WriteLine("\n\n\tCantidad optima de movimientos: " + busqueda_amplitud.solucion().Count); Console.WriteLine("\n"); } else { Console.WriteLine("\n\n\t No se encontro solucion"); } } else { if (!origen) Console.WriteLine("\n No se ha establecido origen"); if (!destino) Console.WriteLine("\n No se ha establecido destino"); } Console.ReadLine(); break; case 7: //Salir Console.WriteLine("\n\n\t ... Haz elegido salir ..."); Console.ReadLine(); break; default: Console.WriteLine("Opcion invalida"); Console.ReadLine(); break; } } while (option != 7); }
static void Main(string[] args) { int option; bool origen = false, destino = false; BAmplitud busqueda_amplitud = new BAmplitud(); matrixState matrix_origin = new matrixState(), matrix_goal = new matrixState(); do { option = menu(); switch (option) { case 1: // Ingresa el original matrix_origin = new matrixState(0, 1, 2, 3, 4, 5, 6, 7, 8); busqueda_amplitud.setOrigin(matrix_origin); origen = true; break; case 2: // Ingresa meta matrix_goal = new matrixState(1, 2, 3, 4, 5, 6, 7, 8, 0); busqueda_amplitud.setDestiny(matrix_goal); destino = true; break; case 3: // Mostrar origen y destino if (origen) { Console.WriteLine("\n\tOrigen:"); matrix_origin.printMatrix(); } if (destino) { Console.WriteLine("\n\tDestino:"); matrix_goal.printMatrix(); } Console.ReadLine(); break; case 4: // Solucion if (origen && destino) { Console.WriteLine("\n\n\t Busqueda por amplitud"); if (busqueda_amplitud.calculate_steps(35)) { matrixState auxiliar = new matrixState(); matrix_origin.setValues(auxiliar); busqueda_amplitud.goTroughtMovements(auxiliar, busqueda_amplitud.solucion(), true); Console.WriteLine("\n\n\tCantidad optima de movimientos: " + busqueda_amplitud.solucion().Count); Console.WriteLine("\n"); } else { Console.WriteLine("\n\n\t No se encontro solucion"); } } else { if (!origen) { Console.WriteLine("\n No se ha establecido origen"); } if (!destino) { Console.WriteLine("\n No se ha establecido destino"); } } Console.ReadLine(); break; case 7: //Salir Console.WriteLine("\n\n\t ... Haz elegido salir ..."); Console.ReadLine(); break; default: Console.WriteLine("Opcion invalida"); Console.ReadLine(); break; } } while (option != 7); }