コード例 #1
0
 protected void OnGained(PliGainedEventArgs e)
 {
     if (PliGainedEvent != null)
     {
         PliGainedEvent(this, e);
     }
 }
コード例 #2
0
        private int JouerPartie(List <Joueur> joueurs)
        {
            bool jouer   = true;
            int  gagnant = 0;

            while (jouer)
            {
                if ((joueurs[0].Main.Count() == 0))
                {
                    jouer   = false;
                    gagnant = 1;
                }
                else if (joueurs[1].Main.Count() == 0)
                {
                    jouer   = false;
                    gagnant = 0;
                }
                if (jouer)
                {
                    Stack <Carte>      pliActuelle      = new Stack <Carte>();
                    Stack <Carte>      batailleActuelle = new Stack <Carte>();
                    PliGainedEventArgs args             = new PliGainedEventArgs();
                    int perdantPli;
                    int gagnantPli = JouerPli(joueurs, ref pliActuelle, ref batailleActuelle);


                    args.Gagnant = joueurs[gagnantPli];
                    if (gagnantPli == 0)
                    {
                        perdantPli = 1;
                    }
                    else
                    {
                        perdantPli = 0;
                    }
                    args.Perdant  = joueurs[perdantPli];
                    args.Pli      = new Stack <Carte>(pliActuelle);
                    args.Bataille = new Stack <Carte>(batailleActuelle);
                    OnGained(args);
                    foreach (Carte carte in pliActuelle)
                    {
                        joueurs[gagnantPli].Main.Enqueue(carte);
                    }
                    foreach (Carte carte in batailleActuelle)
                    {
                        joueurs[gagnantPli].Main.Enqueue(carte);
                    }
                }
            }
            return(gagnant);
        }
コード例 #3
0
 private static void PliGagnee(object sender, PliGainedEventArgs e)
 {
     Console.WriteLine();
     Console.WriteLine("Gagnant du pli : " + e.Gagnant.Nom + " avait " + e.Gagnant.Main.Count + " cartes.");
     Console.WriteLine("Il gagne sur le dernier pli :");
     foreach (Carte carte in e.Pli)
     {
         Console.WriteLine("\t- " + carte);
     }
     if (e.Bataille.Count != 0)
     {
         Console.WriteLine("Il gagne grace aux batailles :");
         foreach (Carte carte in e.Bataille)
         {
             Console.WriteLine("\t- " + carte);
         }
     }
     Console.WriteLine("Le perdant du pli : " + e.Perdant.Nom + " a encore " + e.Perdant.Main.Count);
 }