protected void OnPlayed(PlayedEventArgs e) { if (PlayedEvent != null) { PlayedEvent(this, e); } }
private int JouerPli(List <Joueur> joueurs, ref Stack <Carte> pliActuelle, ref Stack <Carte> batailleActuelle) { int indexGagnant = 0; bool jouer = true; if ((joueurs[0].Main.Count() == 0)) { jouer = false; indexGagnant = 1; } else if (joueurs[1].Main.Count() == 0) { jouer = false; indexGagnant = 0; } if (jouer) { foreach (Joueur joueur in joueurs) { pliActuelle.Push(joueur.Main.Dequeue()); } PlayedEventArgs args = new PlayedEventArgs(); args.CarteJoueurs = new Stack <Carte>(pliActuelle.Reverse()); OnPlayed(args); Carte meilleureCarte = null; int index = 0; foreach (Carte carte in pliActuelle) { if (meilleureCarte != null) { if (meilleureCarte.CompareTo(carte) > 0) { } else if (meilleureCarte.CompareTo(carte) == 0) { OnBataille(EventArgs.Empty); foreach (Carte carte2 in pliActuelle) { batailleActuelle.Push(carte2); } pliActuelle.Clear(); foreach (Joueur joueur in joueurs) { batailleActuelle.Push(joueur.Main.Dequeue()); } indexGagnant = JouerPli(joueurs, ref pliActuelle, ref batailleActuelle);// Bataille break; } else { meilleureCarte = carte; indexGagnant = index; } } else { meilleureCarte = carte; } index++; } } return(indexGagnant); }
private static void PliJouee(object sender, PlayedEventArgs e) { Console.Write("Joueur 1 joue : " + e.CarteJoueurs.Pop()); Console.Write("\t"); Console.WriteLine("Joueur 2 joue : " + e.CarteJoueurs.Pop()); }