/// <summary> /// Le jeu, qui a la responsabilité de l'ensemble des cartes, arbitre de la suite à donner une fois que la carte carteRetournee vient d'être retournée. /// </summary> /// <param name="carteRetournee">Carte venant d'être retournée</param> internal void miseAJour(CarteGUI carteRetournee) { if (carteRetourneePrecedente == null) { carteRetourneePrecedente = carteRetournee; } else { // le joueur rejoue la même carte if (carteRetournee == carteRetourneePrecedente) { carteRetourneePrecedente = null; } else { // bonne paire --> cartes désactivées, pour ne plus jouer avec if (carteRetourneePrecedente.ValeurCarte == carteRetournee.ValeurCarte) { carteRetourneePrecedente.RendreInactive(); carteRetournee.RendreInactive(); gagnee = true; for (int i = 0; i < 10; i++) { if ((grid1.Children[i] as Button).IsEnabled == true) { gagnee = false; } } if (gagnee == true) { MessageBox.Show("Le jeu est fini, vous avez gagné !"); } } // mauvaise paire --> on les retourne toutes les deux. else { MessageBox.Show("mauvaise paire"); carteRetourneePrecedente.TournerCarte(); carteRetournee.TournerCarte(); } carteRetourneePrecedente = null; } } }
public AutreMemory() { InitializeComponent(); String[] temp = { "A", "A", "B", "B", "C", "C", "D", "D", "E", "E" }; valeursCartes = new List <string>(temp); carteRetourneePrecedente = null; int nbLignes = 2; int nbColonnes = 5; for (int l = 0; l < nbLignes; l++) { RowDefinition ligne = new RowDefinition(); grid1.RowDefinitions.Add(ligne); } for (int c = 0; c < nbColonnes; c++) { ColumnDefinition colonne = new ColumnDefinition(); grid1.ColumnDefinitions.Add(colonne); } for (int l = 0; l < nbLignes; l++) { for (int c = 0; c < nbColonnes; c++) { CarteGUI carteGui = new CarteGUI(ValeurSuivante(), this); Grid.SetRow(carteGui, l); // positionnement sur ligne Grid.SetColumn(carteGui, c); // positionnement sur colonne grid1.Children.Add(carteGui); // ajout au conteneur parent (la grille) } } }