Exemplo n.º 1
0
 /// <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;
         }
     }
 }
Exemplo n.º 2
0
        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)
                }
            }
        }