private void LimpiarTabButton_MouseUp(object sender, MouseEventArgs e) { InfoLabel.ResetText(); CambiarFondoBoton(sender, e); tablero.LimpiarTablero(); MostrarCasillas(); MostrarFondos(); }
static void Main(string[] args) { int opcion = 0; if (Directory.Exists(@Directory.GetCurrentDirectory().ToString() + "\\Tableros") == false) { DirectoryInfo di = Directory.CreateDirectory(@Directory.GetCurrentDirectory().ToString() + "\\Tableros"); } Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; Console.Clear(); Elementos.TableroSudoku miTablero = null; Byte opSec = 0; while (opcion != 3) { opcion = 0; Console.Clear(); Console.WriteLine("\n Menu principal del Sudoku."); Console.WriteLine("\n 1.- Crear tablero vacio."); Console.WriteLine("\n 2.- Cargar tablero."); Console.WriteLine("\n 3.- Salir.\n"); Console.WriteLine("\n Opcion: \n"); int.TryParse(Console.ReadLine(), out opcion); switch (opcion) { case 1: Console.WriteLine("\n\n Tablero generado.\n Pulsa una tecla para continuar."); miTablero = new Elementos.TableroSudoku(); break; case 2: miTablero = new Elementos.TableroSudoku(); if (miTablero.CargarTablero() == true) { Console.WriteLine(" \nEspere..."); miTablero.ResolverTablero(); if (miTablero.ComprobarTablero() == true) { miTablero.LimpiarTablero(); Console.WriteLine("\n\n Tablero cargado.\n Pulsa una tecla para continuar."); } else { Console.WriteLine("\n\n Este tablero no se puede resolver Cargando tablero en blanco.\n Pulsa una tecla para continuar."); miTablero = new Elementos.TableroSudoku(); } } else { Console.WriteLine("\n\n No se pudo cargar el tablero. Generando tablero en blanco.\n pulsa una tecla para continuar."); } break; case 3: Console.WriteLine("\n Salir del programa...\n pulsa una tecla para continuar."); break; default: Console.WriteLine("\n Opcion incorrecta.\n pulsa una tecla para continuar."); break; } Console.ReadKey(); if (opcion == 1 || opcion == 2) { do { opSec = 0; Console.Clear(); if (miTablero.TableroLleno() == true) { if (miTablero.ComprobarTablero() == true) { Console.WriteLine("\n Tablero resuelto."); opSec = 4; } else { Console.WriteLine("\n Corregir valores en rojo para completar el tablero."); } } miTablero.MostrarTablero(); if (opSec != 4) { opSec = miTablero.IntroducirCasilla(); } if (opSec == 1) { Console.WriteLine("\n Datos incorrectos..."); Console.WriteLine("\n Pulse una tecla para continuar.\n"); Console.ReadKey(); } else if (opSec == 2) { Console.WriteLine(" \nResolviendo tablero, espere..."); miTablero.LimpiarTablero(); miTablero.ResolverTablero(); Console.Clear(); } else if (opSec == 3) { Console.WriteLine("\n Guardar tablero: \n"); if (miTablero.GuardarTablero() == true) { Console.WriteLine("\n Tablero guardado.\n"); } Console.WriteLine("\n Pulse una tecla para continuar.\n"); Console.ReadKey(); } else if (opSec == 4) { Console.WriteLine("\n Volver al menu principal..."); Console.WriteLine("\n Pulse una tecla para continuar.\n"); Console.ReadKey(); } else if (opSec == 5) { miTablero.LimpiarTablero(); } else if (opSec == 7) { miTablero.ComprobarTablero(); miTablero.LimpiarErrores(); } else if (opSec == 6) { miTablero.ComprobarTablero(); } } while (opSec != 4); } } Console.ReadKey(); }
private void Cargarbutton_MouseUp(object sender, MouseEventArgs e) { InfoLabel.ResetText(); this.Cursor = Cursors.AppStarting; CambiarFondoBoton(sender, e); Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = @Directory.GetCurrentDirectory().ToString() + "\\Tableros"; openFileDialog1.Filter = "All files (*.*)|*.*|xml (*.xml)|*.xml"; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true; TextBox auxb; Elementos.TableroSudoku tableroAux = tablero; if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { if ((myStream = openFileDialog1.OpenFile()) != null) { using (myStream) { InfoLabel.Text = "Cargando tablero."; tablero = new Elementos.TableroSudoku(); tablero.CargarTablero(myStream); myStream.Close(); InfoLabel.Text = "Comprobando..."; WaitSeconds(0.2); tablero.ResolverTablero(); if (tablero.TableroLleno() != true && tablero.ComprobarTablero() != true) { MessageBox.Show("El tablero cargado no se pudo resolver. Seleccione otro tablero."); } else { InfoLabel.Text = "Tablero cargado."; } tablero.LimpiarTablero(); LimpiarTablero(); for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { auxb = (TextBox)tableroSudoku.GetControlFromPosition(j, i); if (tablero.BuscarCasilla(i, j).Estatico == true) { auxb.ReadOnly = true; } } } MostrarCasillas(); MostrarFondos(); } } } catch (Exception ex) { MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); } } this.Cursor = Cursors.Default; }