Beispiel #1
0
        //regroupement des methodes pour initialiser une partie
        public async Task startPartie(List <Joueur> listeJoueurs, PaquetDepot paquetD, PaquetPioche paquetP, Paquet paquet)
        {
            //Instanciation pour les tests, a enlever apres.
            Joueur joueur;
            int    nbJoueurs = listeJoueurs.Count;


            //Rempli le paquet de cartes de toutes les cartes du jeu.
            paquet.Remplir();

            //Brasse les cartes.
            paquet.Brasser(10000);

            //Distribue les cartes aux joueurs.
            paquet.DistribuerCartes(listeJoueurs);

            //Retourne une carte de départ sur le paquet de Dépot.
            paquetD.DeposerCarte(paquet.GetCarte());

            //Envoi les cartes a la fonction RemplirPioche qui remplit le paquetP.
            paquetP.RemplirPioche(paquet.GetPaquet());

            //Vide le paquet.
            paquet.Vider();

            //Choisi le premier joueur à jouer.
            joueur = JoueurDepart(listeJoueurs, nbJoueurs);

            //Creer une methode tour qui entre en argument le premier joueur.
            Jouer(joueur, listeJoueurs, paquetD, paquetP);
        }
Beispiel #2
0
        //Determine s'il faut rebrasser le paquet.
        public static void GererPige(PaquetPioche paquetP, PaquetDepot paquetD, Joueur joueur)
        {
            Carte carte;

            if (paquetD.GetTop() > 0 && paquetP.GetNbCartes() == 0)
            {
                Console.WriteLine("Le paquet est vide. Il va donc être rebrassé.");
                Carte[] cartes = paquetD.GetPaquet();
                int     top    = paquetD.GetTop();
                paquetP.TransfererPaquet(cartes, top);
                paquetD.Vider();
                paquetP.Brasser(10000);
                joueur.Pige(paquetP.GetCarte());
            }
            else if (paquetD.GetTop() == 0 && paquetP.GetNbCartes() == 0)
            {
                Console.WriteLine("Vous ne pouvez pas piger de carte.");
            }
            else if (paquetP.GetNbCartes() > 0)
            {
                carte = paquetP.GetCarte();
                if (carte == null)
                {
                    Console.WriteLine("Erreur. Le joueur ne peut pas piger");
                }
                else
                {
                    Console.WriteLine("Le joueur a pigé.");
                    joueur.Pige(carte);
                }
            }
        }
Beispiel #3
0
 public Joueur(string nom, string pnom, PaquetDepot paquetD, PaquetPioche paquetP)
 {
     this.nom     = nom;
     this.pnom    = pnom;
     this.paquetD = paquetD;
     this.paquetP = paquetP;
 }
Beispiel #4
0
        //Joueur joueur, int carteChoisi, PaquetDepot paquetD, PaquetPioche paquetP, string couleur
        public static Carte BotChoisiCarte(Joueur joueur, PaquetDepot paquetD)
        {
            bool ok;

            for (int i = 0; i < joueur.NbCartes(); i++)
            {
                ok = VerifierCarte(joueur, i, paquetD);
                if (ok == true)
                {
                    return(joueur.GetCarte(i));
                }
            }
            return(null);
        }
Beispiel #5
0
        //Constructeur d'une partie
        public Partie(List <Joueur> listeJoueur, PaquetDepot depot, PaquetPioche pioche)
        {
            this.listeJoueur = listeJoueur;
            this.depot       = depot;
            this.pioche      = pioche;
            Random rand = new Random();

            indexJoueur = rand.Next(0, nbJoueurs);
            nbJoueurs   = listeJoueur.Count;

            //Inscrire les abonnées
            for (int i = 0; i < nbJoueurs; i++)
            {
                this.CardPlayed += listeJoueur[i].OnCardPlayed;
            }
        }
Beispiel #6
0
        public static bool VerifierCarte(Joueur joueur, int carteChoisi, PaquetDepot paquetD)
        {
            int valet = joueur.GetCarte(carteChoisi).GetValeur();

            if (valet == 11)
            {
                return(true);
            }
            else if (joueur.GetCarte(carteChoisi).GetCouleur() == paquetD.VoirCarte().GetCouleur() ||
                     joueur.GetCarte(carteChoisi).GetValeur() == paquetD.VoirCarte().GetValeur())
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #7
0
        public static void Jouer(Joueur joueur, List <Joueur> listeJoueurs, PaquetDepot paquetD, PaquetPioche paquetP)
        {
            Carte carte;
            int   index    = listeJoueurs.IndexOf(joueur);
            bool  gameover = false;

            while (!gameover)
            {
                try
                {
                    joueur = listeJoueurs.ElementAt(index);
                    Console.WriteLine("------------------------------------------------------------------------------");
                    Console.WriteLine("\nC'est le tour à " + joueur.ToString() + "\n");
                    Console.WriteLine("La dernière carte jouée est: " + paquetD.VoirCarte().ToString());
                    Console.WriteLine("Voici votre paquet: \n" + joueur.GetMain());
                    //await Task.Delay(3000);

                    //Le bot choisi sa carte à jouer.
                    carte = BotChoisiCarte(joueur, paquetD);

                    if (carte == null)
                    {
                        GererPige(paquetP, paquetD, joueur);
                    }
                    else
                    {
                        joueur.JouerCarte(carte);
                    }

                    index = Tour(listeJoueurs, index);


                    gameover = joueur.Gagnant();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            Console.WriteLine("Le gagnant est: {0}!\n", joueur.ToString());
        }
Beispiel #8
0
            //Menu secondaire. On choisi le nombre de personnes dans la partie.
            static void MenuSecondaire()
            {
                int  choix;
                bool on = true;

                while (on)
                {
                    PaquetPioche paquetP = new PaquetPioche();
                    PaquetDepot  paquetD = new PaquetDepot();
                    Paquet       paquet  = new Paquet();

                    Joueur joueur1 = new Joueur("", "", paquetD, paquetP);
                    Joueur joueur2 = new Joueur("", "", paquetD, paquetP);
                    Joueur joueur3 = new Joueur("", "", paquetD, paquetP);
                    Joueur joueur4 = new Joueur("", "", paquetD, paquetP);

                    List <Joueur> listeJoueurs = new List <Joueur>();
                    listeJoueurs.Clear();

                    Partie partie = new Partie();

                    Console.WriteLine("Entrez le nombre de joueurs: ");
                    Console.WriteLine("1 - Deux joueurs");
                    Console.WriteLine("2 - Trois Joueurs");
                    Console.WriteLine("3 - Quatre Joueurs");
                    Console.WriteLine("4 - Quitter");
                    try
                    {
                        choix = Int32.Parse(Console.ReadLine());
                        switch (choix)
                        {
                        case 1:
                            for (int i = 1; i <= 2; i++)
                            {
                                Console.WriteLine("Joueur #" + i);

                                if (i == 1)
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur1.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur1.SetPnom(Console.ReadLine());
                                }
                                else
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur2.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur2.SetPnom(Console.ReadLine());
                                }
                            }

                            listeJoueurs.Add(joueur1);
                            listeJoueurs.Add(joueur2);

                            break;

                        case 2:
                            for (int i = 1; i <= 3; i++)
                            {
                                Console.WriteLine("Joueur #" + i);

                                if (i == 1)
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur1.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur1.SetPnom(Console.ReadLine());
                                }
                                else if (i == 2)
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur2.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur2.SetPnom(Console.ReadLine());
                                }
                                else
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur3.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur3.SetPnom(Console.ReadLine());
                                }
                            }

                            listeJoueurs.Add(joueur1);
                            listeJoueurs.Add(joueur2);
                            listeJoueurs.Add(joueur3);
                            //ajouter trois joueurs.
                            break;

                        case 3:
                            for (int i = 1; i <= 4; i++)
                            {
                                Console.WriteLine("Joueur #" + i);

                                if (i == 1)
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur1.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur1.SetPnom(Console.ReadLine());
                                }
                                else if (i == 2)
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur2.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur2.SetPnom(Console.ReadLine());
                                }
                                else if (i == 3)
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur3.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur3.SetPnom(Console.ReadLine());
                                }
                                else
                                {
                                    Console.WriteLine("Quel est votre nom?");
                                    joueur4.SetNom(Console.ReadLine());
                                    Console.WriteLine("Quel est votre prénom?");
                                    joueur4.SetPnom(Console.ReadLine());
                                }
                            }

                            listeJoueurs.Add(joueur1);
                            listeJoueurs.Add(joueur2);
                            listeJoueurs.Add(joueur3);
                            listeJoueurs.Add(joueur4);
                            //ajouter quatre joueurs.
                            break;

                        case 4:
                            Environment.Exit(0);
                            break;

                        default:
                            Console.WriteLine("Vous devez entrer un chiffre entre 1 et 4");
                            break;
                        }
                    }
                    catch
                    {
                        Console.WriteLine("Entrée invalide.");
                    }
                    partie.startPartie(listeJoueurs, paquetD, paquetP, paquet);
                }
            }
Beispiel #9
0
            //Menu secondaire. On choisi le nombre de personnes dans la partie.
            static void MenuSecondaire()
            {
                int  choix;
                bool on = true;

                while (on)
                {
                    PaquetPioche paquetP = new PaquetPioche();
                    PaquetDepot  paquetD = new PaquetDepot();

                    Joueur joueur1 = new Joueur("", "", paquetD, paquetP);
                    Joueur joueur2 = new Joueur("", "", paquetD, paquetP);
                    Joueur joueur3 = new Joueur("", "", paquetD, paquetP);
                    Joueur joueur4 = new Joueur("", "", paquetD, paquetP);

                    List <Joueur> listeJoueurs = new List <Joueur>();
                    listeJoueurs.Clear();

                    Console.WriteLine("Entrez le nombre de joueurs: ");
                    Console.WriteLine("1 - Deux joueurs");
                    Console.WriteLine("2 - Trois Joueurs");
                    Console.WriteLine("3 - Quatre Joueurs");
                    Console.WriteLine("4 - Quitter");
                    try
                    {
                        choix = Int32.Parse(Console.ReadLine());
                        switch (choix)
                        {
                        case 1:
                            listeJoueurs.Add(joueur1);
                            listeJoueurs.Add(joueur2);

                            entrerJoueur(listeJoueurs);

                            break;

                        case 2:
                            listeJoueurs.Add(joueur1);
                            listeJoueurs.Add(joueur2);
                            listeJoueurs.Add(joueur3);

                            entrerJoueur(listeJoueurs);

                            break;

                        case 3:
                            listeJoueurs.Add(joueur1);
                            listeJoueurs.Add(joueur2);
                            listeJoueurs.Add(joueur3);
                            listeJoueurs.Add(joueur4);

                            entrerJoueur(listeJoueurs);

                            break;

                        case 4:
                            Environment.Exit(0);
                            break;

                        default:
                            Console.WriteLine("Vous devez entrer un chiffre entre 1 et 4");
                            break;
                        }
                    }
                    catch
                    {
                        Console.WriteLine("Entrée invalide.");
                    }
                    Partie partie = new Partie(listeJoueurs, paquetD, paquetP);
                    partie.startPartieAsync();
                }
            }