Example #1
0
        public override bool EstCoche()
        {
            bool rep = false;

            if (!string.IsNullOrEmpty(_value.Valeur()))
            {
                if (!Properties.Resources.image_depart.Equals(MethodesGlobales.GetSauvegardeAvantDerniereCoche()))
                {
                    rep = true;
                }
            }

            return(rep);
        }
Example #2
0
 public void AnnulerPoseElement(Coordonnee uneCoordonnee, System.Drawing.Image image)
 {
     if (_mesCases.ContainsKey(ConvertIdCase(uneCoordonnee.X, uneCoordonnee.Y)))
     {
         if (Properties.Resources.image_O.Equals(MethodesGlobales.GetSauvegardeAvantDerniereCoche()))
         {
             _mesCases[ConvertIdCase(uneCoordonnee.X, uneCoordonnee.Y)].AnnulerElement(new Pion("O"), MethodesGlobales.GetSauvegardeAvantDerniereCoche());
         }
         else if (Properties.Resources.image_X.Equals(MethodesGlobales.GetSauvegardeAvantDerniereCoche()))
         {
             _mesCases[ConvertIdCase(uneCoordonnee.X, uneCoordonnee.Y)].AnnulerElement(new Pion("X"), MethodesGlobales.GetSauvegardeAvantDerniereCoche());
         }
         else
         {
             _mesCases[ConvertIdCase(uneCoordonnee.X, uneCoordonnee.Y)].AnnulerElement(new Pion(""), MethodesGlobales.GetSauvegardeAvantDerniereCoche());
         }
     }
 }
Example #3
0
        private void TourDeJeu()
        {
            bool partieTerminee = false;

            Pion unPion = null;

            while (!partieTerminee)
            {
                foreach (IJoueur unJoueur in _mesJoueurs.Values)
                {
                    bool tourTermine = false;

                    if (MethodesGlobales.CocheXAMettre())
                    {
                        unPion = new Pion("X");
                    }
                    else
                    {
                        unPion = new Pion("O");
                    }

                    while (!tourTermine && !partieTerminee)
                    {
                        MessageBox.Show(string.Format("Joueur : {0} à vous de jouer !", unJoueur.GetNom()));

                        MethodesGlobales._leThreadTour.Suspend();

                        Coordonnee uneCoordonnee = unJoueur.Jouer();

                        if (_monTerrain.CaseLibre(uneCoordonnee))
                        {
                            _monTerrain.PoserElement(uneCoordonnee, unPion);

                            if (_monTerrain.VerifierSiJoueurGagne(uneCoordonnee, unPion, _maConfiguration.NbrElementGagnant))
                            {
                                _idGagnant     = unJoueur.GetId();
                                partieTerminee = true;
                            }
                            else if (_monTerrain.TerrainRempli())
                            {
                                partieTerminee = true;
                            }

                            tourTermine = true;
                        }
                        else
                        {
                            MessageBox.Show("Cette case est déjà cochée !");
                            _monTerrain.AnnulerPoseElement(uneCoordonnee, MethodesGlobales.GetSauvegardeAvantDerniereCoche());
                        }
                    }
                }
            }

            if (partieTerminee && !string.IsNullOrEmpty(_idGagnant))
            {
                MessageBox.Show(String.Format("Le gagnant est {0} identifié par l'id {0} !", _mesJoueurs[_idGagnant].GetNom(), _mesJoueurs[_idGagnant].GetId()));
            }
            else
            {
                MessageBox.Show("Aucun vainqueur ! Match nul !");
            }
        }