예제 #1
0
        //regroupement des methodes pour initialiser une partie
        public async void startPartieAsync()
        {
            //Distribue les cartes aux joueurs.
            pioche.distribuerCartes(listeJoueur);

            //Retourne une carte de départ sur le paquet de Dépot.
            depot.deposerCarte(pioche.getCarte());

            //Creer une methode tour qui entre en argument le premier joueur.
            jouer();
        }
예제 #2
0
        public void OnCardPlayed(Object source, PlayerEventArgs e, CardEventArgs s)
        {
            if (e.Joueur == this)
            {
                for (int i = 0; i < this.nbCartes(); i++)
                {
                    try
                    {
                        //Valet peut être jouer à n'importe quel moment
                        if (this.getCarte(i).GetValeur() == 11)
                        {
                            var t = Task.Factory.StartNew(() =>
                            {
                                Task.Delay(1500).Wait();
                                Console.WriteLine(this.pnom + " " + this.nom + " a joué un  : " + this.getCarte(i));
                                this.jouerCarte(this.getCarte(i));
                            });
                            t.Wait();
                            break;
                        }
                        //Vérifie que la carte peut être jouer
                        else if (s.Carte.GetCouleur() == this.getCarte(i).GetCouleur() || s.Carte.GetValeur() == this.getCarte(i).GetValeur())
                        {
                            var t = Task.Factory.StartNew(() =>
                            {
                                Task.Delay(1500).Wait();
                                Console.WriteLine(this.pnom + " " + this.nom + " a joué un/une " + this.getCarte(i));
                                this.jouerCarte(this.getCarte(i));
                            });
                            t.Wait();
                            break;
                        }

                        else if (i == this.nbCartes() - 1)
                        {
                            var t = Task.Factory.StartNew(() =>
                            {
                                Task.Delay(1500).Wait();
                                this.pige(paquetP.getCarte());
                                Console.WriteLine("Vous avez pigé un/une " + this.getCarte(this.nbCartes() - 1));
                            });
                            t.Wait();
                            break;
                        }
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine(exception.Message);
                    }
                }
            }
        }