private void TraiterEvtFinDonne(string[] infosEvt) { FinDonne evt = new FinDonne(); // Liste des gagnants string[] gagnants = infosEvt[3].Split(','); evt.JoueursGagnants = new List <JoueurStat>(); foreach (string gagnant in gagnants) { evt.JoueursGagnants.Add(new JoueurStat() { Nom = gagnant }); } // Combinaison gagnante string[] infosComb = infosEvt[4].Split(':'); if (infosComb.Length == 1) { evt.CombinaisonGagnante = null; } else { evt.CombinaisonGagnante = new Combinaison( (TypeCombinaison)Enum.Parse(typeof(TypeCombinaison), infosComb[0]), ParserChaineEnListeCartes(infosComb[1], ',') ); } evt.Pot = int.Parse(infosEvt[5]); this.EvenementCourant = evt; }
private void TraiterEvtFinDonne(FinDonne evt) { List <Joueur> listeGagnants = new List <Joueur>(); foreach (JoueurStat j in evt.JoueursGagnants) { listeGagnants.Add(_listeJoueurs[j.Nom]); } LancerEvtMessageInfo(new MessageInfo(listeGagnants, evt.CombinaisonGagnante, evt.Pot)); }
protected override void EnregistrerFinDonne(FinDonne evt) { // Ecriture de la liste des donnes for (int i = 0; i < evt.ListeJoueurs.Count; i++) { // DateEvenement NumeroDonne Joueur Carte1 Carte2 Tapis _writerListeDonnes.WriteLine( "{0};{1};{2};{3};{4};{5}", evt.DateEvenement, evt.NumeroDonne, evt.ListeJoueurs[i].Nom, evt.ListeJoueurs[i].Carte1.LibelleCarte(), evt.ListeJoueurs[i].Carte2.LibelleCarte(), _listeJoueursDebutDonne[i].Tapis ); } // Ecriture du detail de la partie string listeCartes = "-"; if (evt.CombinaisonGagnante != null) { listeCartes = string.Empty; foreach (CartePoker carte in evt.CombinaisonGagnante.MainGagnante) { listeCartes += "," + carte.LibelleCarte(); } listeCartes = evt.CombinaisonGagnante.TypeCombinaison.ToString() + ":" + listeCartes.Substring(1); } EcrireDetailPartie(evt.DateEvenement, evt.NumeroDonne, "FinDonne", evt.JoueursGagnants.ListeNoms(), listeCartes, evt.Pot.ToString()); // Format de sortie //DateDonne;NumDonn;Joueur 1;Joueur 2;Joueur 3;Gain;Joueur a gagné;CombinaisonGagnante;Carte1;Carte2;FLOP1;FLOP2;FLOP3;Turn;River;Dealer;PB;GB;MontantPB;MontantGB // Ecriture du résumé de la partie string ligneDonne = string.Format("{0};{1};", evt.DateEvenement, evt.NumeroDonne); foreach (JoueurStat j in evt.ListeJoueurs) { ligneDonne += j.Tapis.ToString() + ";"; } string libCombGagnante = (evt.CombinaisonGagnante != null) ? evt.CombinaisonGagnante.TypeCombinaison.ToString() : "-"; ligneDonne += string.Format("{0};{1};{2};{3};{4};", evt.Pot, evt.JoueursGagnants.ListeNoms(), libCombGagnante, evt.JoueursGagnants[0].Carte1.LibelleCarte(), evt.JoueursGagnants[0].Carte2.LibelleCarte()); ligneDonne += string.Format("{0};{1};{2};{3};{4}", _flop[0].LibelleCarte(), _flop[1].LibelleCarte(), _flop[2].LibelleCarte(), _turn, _river); ligneDonne += string.Format("{0};{1};{2};{3};{4}", _dealer, _petiteBlind, _grosseBlind, _montantPetiteBlind, _montantGrosseBlind); _writerResumePartie.WriteLine(ligneDonne); }
/// <summary> /// Enregistrement d'une nouvelle donne /// </summary> /// <param name="listeJoueurs"></param> /// <param name="numeroDonne"></param> internal void EnregistrerFinDonne(List <Joueur> listeJoueurs, Combinaison combGagnante, List <Joueur> gagnants, int pot) { try { FinDonne donne = new FinDonne(); donne.CombinaisonGagnante = combGagnante; donne.JoueursGagnants = CloneListeJoueurs(gagnants); donne.ListeJoueurs = CloneListeJoueurs(listeJoueurs); donne.Pot = pot; donne.NumeroDonne = InfosTable.Singleton.NumeroDonne; foreach (IStatistiques stat in _statistiques) { stat.Enregistrer(donne); } } catch (Exception ex) { logServeur.Debug("Erreur lors d'EnregistrerFinDonne : " + ex.Message); } }