예제 #1
0
        public Carte OrdiJoue()
        {
            Carte c = null;

            try
            {
                //Tire une carte et l'ajoute dans le pli
                c = Ordi.JouerProchaineCarte();
                PliEnCours.AjouterCarteDessus(c);
                //On ajoute la carte jouée à la mémoire de l'ordi
                Ordi.Memoire.Ajouter(c);
            }
            catch (MainVideException ex)
            {
                throw ex;
            }
            return(c);
        }
예제 #2
0
        public void AjouterCarteSous(Carte c)
        {
            if (c == null)
            {
                throw new Exception("Carte nulle");
            }

            if (Taille + 1 < 52)
            {
                Taille++;
                for (int i = 0; i < Taille - 1; i++)
                {
                    Cartes[i + 1] = Cartes[i];
                }
                Cartes[0] = c;
            }
            else
            {
                throw new Exception("Vous essayez d'ajouter plus de 52 cartes dans une main, impossible");
            }
        }
예제 #3
0
 public void AjouterEnMain(Carte c)
 {
     MainJoueur.AjouterCarte(c);
 }
예제 #4
0
 public Main()
 {
     Cartes = new Carte[52];
     Taille = -1;
 }
예제 #5
0
        //Bouton
        private void Bouton_JouerCarte(object sender, EventArgs e)
        {
            button1.Enabled = false;
            Carte carteDuJoueur = null;

            try
            {
                carteDuJoueur = partie.JoueurJoue();
            }
            catch (MainVideException)
            {
                new GameOver("Perdu !").Show();
                this.Close();
            }
            SetImageCenter(partie.PliEnCours.RegarderCarteDuDessus().GetStringUrlImage());
            SetTaillePaquet(partie.Joueur.MainJoueur.Taille, partie.Ordi.MainJoueur.Taille, partie.PliEnCours.Taille);

            Thread.Sleep(1000);

            --nbCarteAJouerAvantPerte;
            if (nbCarteAJouerAvantPerte == 0 && !(carteDuJoueur.Valeur == 11 || carteDuJoueur.Valeur == 12 || carteDuJoueur.Valeur == 13 || carteDuJoueur.Valeur == 14))
            {
                RemporterPli(false);
            }


            //si on a joué une tete ou un as
            if (carteDuJoueur.Valeur == 11 || carteDuJoueur.Valeur == 12 || carteDuJoueur.Valeur == 13 || carteDuJoueur.Valeur == 14)
            {
                switch (carteDuJoueur.Valeur)
                {
                case 11:
                    if (!tourOrdiJoueurTete())
                    {
                        RemporterPli(true);
                    }
                    break;

                case 12:
                    int i2 = 2;
                    while (i2 > 0 && !tourOrdiJoueurTete())
                    {
                        i2--;
                    }
                    if (i2 == 0)
                    {
                        RemporterPli(true);
                    }
                    break;

                case 13:
                    int i3 = 3;
                    while (i3 > 0 && !tourOrdiJoueurTete())
                    {
                        i3--;
                    }
                    if (i3 == 0)
                    {
                        RemporterPli(true);
                    }
                    break;

                case 14:
                    int i4 = 4;
                    while (i4 > 0 && !tourOrdiJoueurTete())
                    {
                        i4--;
                    }
                    if (i4 == 0)
                    {
                        RemporterPli(true);
                    }
                    break;
                }
            }

            //si on l'ordi n'a pas joué de tete ou d'as
            else if (nbCarteAJouerAvantPerte > 100)
            {
                tourOrdiClassique();
                SetLabel("A vous");
            }

            //si l'ordi a joué une tete ou un as
            else
            {
                Thread.Sleep(1000);
                SetLabel("A vous - reste " + nbCarteAJouerAvantPerte);
            }

            button1.Enabled = true;
        }