// Pour faire descendre une barre //vérifier le débordement sur un coté public bool Descendre(Table grille) { bool placementvalide = grille.EmplacementDispo(this); List<int> precemplacement = new List<int>(); for (int i = 0; i < this.emplacement.Count; i++) { // Je copie la liste des emplacement dans la barre dans une liste afin de les garder en mémoire en cas de Fail precemplacement.Add(this.emplacement[i]); // J'effectue le deplacement sur la vrai liste this.emplacement[i] = this.emplacement[i] + 10; } // je verifie si tout est okay. Si oui, j'écris les nouveaux emplacement dans le tableau if (grille.EmplacementDispo(this)) { grille.write(ref precemplacement, this); this.posInitiale = false; return true; } else { // Sinon, je remets tout comme avant grace a la liste copié auparavant this.emplacement = precemplacement; this.bloquer = true; grille.checkLigne(); if (this.posInitiale) { MainWindow.main.Termine.Text = "Partie Terminée"; Partie.stop(); MainWindow.main.GameOver.Visibility = System.Windows.Visibility.Visible; MainWindow.main.ScoreNom.Visibility = Visibility.Collapsed; MainWindow.main.ScoreScore.Visibility = Visibility.Collapsed; MainWindow.main.ScoreNiveau.Visibility = Visibility.Collapsed; MainWindow.main.labelScore.Visibility = Visibility.Collapsed; MainWindow.main.labelScoreLevel.Visibility = Visibility.Collapsed; MainWindow.main.labelScoreNom.Visibility = Visibility.Collapsed; } return false; } }