Exemple #1
0
        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;
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 /// <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);
     }
 }