Example #1
0
        public Carte Depiler()
        {
            Carte x; //Dernière carte à avoir été retirée

            if (!PileVide())
            {
                x     = ancre;
                ancre = ancre.CarteSuivante;
                cpt_carte--;
                //Console.WriteLine("La carte " + x.Valeur + " de puissance " + x.Bonus+ " a été retiré ");
                return(x);
            }
            else
            {
                Console.WriteLine("La pile est vide, impossible de retirer une carte");
                return(null);
            }
        }
Example #2
0
        public Bataille()
        {
            mancheGJ1 = 0;
            mancheGJ2 = 0;
            ptsJ1     = 0;
            ptsJ2     = 0;

            setWindow();
            showTitle();

            Console.WriteLine("Combien de carte voulez vous par joueur ?");

            //Demande au joueur le nbr de carte par joueur;
            bool err;

            do
            {
                try
                {
                    err = false;
                    Console.Write("Nombre de carte par joueur : ");
                    nbrCarteJoueurMax = Convert.ToInt32(Console.ReadLine());
                    if (nbrCarteJoueurMax > 50 || nbrCarteJoueurMax <= 0)
                    {
                        Console.WriteLine("Entrez un nombre entre 1 et 50 \n");
                    }
                }
                catch
                {
                    Console.WriteLine("Entrez un nombre!\n");
                    err = true;
                }
            }while (err || nbrCarteJoueurMax > 50 || nbrCarteJoueurMax <= 0);

            //Création du premier packet de 100;
            creerIniCartes();
            pileJ1     = new Pile(nbrCarteJoueurMax);
            pileJ2     = new Pile(nbrCarteJoueurMax);
            pileGainJ1 = new Pile(nbrCarteJoueurMax * 2);
            pileGainJ2 = new Pile(nbrCarteJoueurMax * 2);

            attribuerCarte(nbrCarteJoueurMax);

            Console.WriteLine(centerText("LA PARTIE COMMENCE!"));

            //Joue tous les tours
            for (int i = 0; i < nbrCarteJoueurMax; i++)
            {
                T1 = pileJ1.Depiler();
                T2 = pileJ2.Depiler();

                Console.Write("Tour " + (i + 1) + " : ");
                if (T1.Valeur == T2.Valeur)
                {
                    if (T1.Couleur == T2.Couleur)
                    {
                        pileGainJ1.Empiler(T1);
                        pileGainJ2.Empiler(T2);
                        Console.WriteLine("Chacun conserve leur carte");
                    }
                    else if (T1.Couleur > T2.Couleur)
                    {
                        Joueur1Gagne();
                    }
                    else
                    {
                        Joueur2Gagne();
                    }
                }
                else if (T1.Valeur > T2.Valeur)
                {
                    Joueur1Gagne();
                }
                else
                {
                    Joueur2Gagne();
                }
            }

            Console.WriteLine(centerText("Toutes les cartes ont été jouées!\n"));
            Console.WriteLine(centerText("RÉSULTATS"));
            //Compter les points

            ptsJ1 = Convert.ToInt32(compterPoints(pileGainJ1));
            ptsJ2 = Convert.ToInt32(compterPoints(pileGainJ2));
            Console.WriteLine("Joueur 1 : " + ptsJ1 + " points avec " + mancheGJ1 + " manches gagnées");
            Console.WriteLine("Joueur 2 : " + ptsJ2 + " points avec " + mancheGJ2 + " manches gagnées");
        }
Example #3
0
 public Pile(int _tailleMax)
 {
     ancre     = null;
     tailleMax = _tailleMax;
     cpt_carte = 0;
 }