// Fonction qui lance la résolution automatique de la grille. private void Button_Click(object sender, RoutedEventArgs e) { Grille grid = App.viewModelSudoku.gridSelect; App.viewModelSudoku.completeGrilles(grid); for (int i = 0; i < grid.Size; i++) { for (int j = 0; j < grid.Size; j++) { FrameworkElement b = createGridCase(grid, i, j); FrontGrid.Children.Add(b); } } }
// Fonction permettant de construire la grille selon l'état des cases. private FrameworkElement createGridCase(Grille g, int i, int j) { FrameworkElement b; char c = g.grid[i, j].Valeur; if (c == '.') { b = new Button(); ((Button)b).Background = Brushes.LightSkyBlue; } else { b = new Button(); ((Button)b).Background = Brushes.LightSeaGreen; ((Button)b).Content = c; } Grid.SetRow(b, i); Grid.SetColumn(b, j); return(b); }
// Fonction permettant d'afficher la grille sudoku que l'on a selectionner dans la Liste. private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { // Netoyage de la grille. FrontGrid.Children.Clear(); FrontGrid.ColumnDefinitions.Clear(); FrontGrid.RowDefinitions.Clear(); Grille grid = App.viewModelSudoku.gridSelect; // Construction de la grille selectionnée. for (int i = 0; i < grid.Size; i++) { FrontGrid.ColumnDefinitions.Add(new ColumnDefinition()); FrontGrid.RowDefinitions.Add(new RowDefinition()); } // Remplissage des cases de la grille. for (int i = 0; i < grid.Size; i++) { for (int j = 0; j < grid.Size; j++) { FrameworkElement b = createGridCase(grid, i, j); FrontGrid.Children.Add(b); } } }
// Fonction qui récupère les données du fichier sélectionné et affiche chaque grille dans la liste. public void getGridFile(String path) { _path = path; if (readFile()) { Grille g; Case c; string line; int tailleGrille; //Lire ligne par ligne while ((line = file.ReadLine()) != null) { gridCount++; g = new Grille(); g.Nom = file.ReadLine(); g.Date = file.ReadLine(); g.Symbole = file.ReadLine(); tailleGrille = g.Symbole.Length; g.initializeTab(tailleGrille); for (int i = 0; i < tailleGrille; i++) { string values = file.ReadLine(); for (int j = 0; j < values.Length; j++) { c = new Case(values[j], i, j, g.numSquare(i, j)); g.setTable(i, j, c); } } //ajouter la grille créée à partir du fichier GridList.Add(g); } //fermer le fichier file.Close(); } }
// Fonction que vérifie que la grille est valide ou non. private void Button_Click_1(object sender, RoutedEventArgs e) { Grille grid = App.viewModelSudoku.gridSelect; App.viewModelSudoku.valideGrilles(grid); }
public void completeGrilles(Grille grid) { grid.completeGrille(); }
public void valideGrilles(Grille grid) { grid.valideGrille(); }