protected override void EnregistrerNouvellePartie(NouvellePartie evt) { Directory.CreateDirectory(Path.GetDirectoryName(_cheminFichierChampionnat)); if (File.Exists(_cheminFichierChampionnat)) { _stats.Load(_cheminFichierChampionnat); } else { _stats.LoadXml("<" + XML_CHAMPIONNAT + "/>"); } _partieEnCours = _stats.CreateNode(XmlNodeType.Element, XML_PARTIE, null); // Date de la partie XmlAttribute att = _stats.CreateAttribute(XML_DATE); att.Value = evt.DateEvenement.ToString(FORMAT_DATE); _partieEnCours.Attributes.Append(att); // Enjeu de la partie att = _stats.CreateAttribute(XML_ENJEU); att.Value = (evt.ListeJoueurs.Count * evt.OptionsJeu.TapisInitial).ToString(); _partieEnCours.Attributes.Append(att); _stats.DocumentElement.AppendChild(_partieEnCours); }
protected override void EnregistrerNouvellePartie(NouvellePartie evt) { // Initialisation des chemins des fichiers string cheminFichiers = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Constantes.REPERTOIRE_DATA); Directory.CreateDirectory(cheminFichiers); _cheminPartieCsv = Path.Combine(cheminFichiers, string.Format(NOM_FICHIER_BILAN_PARTIE, evt.DateEvenement)); _writerResumePartie = new StreamWriter(Path.Combine(cheminFichiers, string.Format(NOM_FICHIER_RESUME_PARTIE, evt.DateEvenement))); _writerResumePartie.AutoFlush = false; _writerDetailPartie = new StreamWriter(Path.Combine(cheminFichiers, string.Format(NOM_FICHIER_DETAILSPARTIE, evt.DateEvenement))); _writerDetailPartie.AutoFlush = false; _writerListeDonnes = new StreamWriter(Path.Combine(cheminFichiers, string.Format(NOM_FICHIER_LISTE_DONNES, evt.DateEvenement))); _writerListeDonnes.AutoFlush = false; // Ecriture de l'entete de la partie _datePartie = evt.DateEvenement; _enjeu = evt.OptionsJeu.TapisInitial * evt.ListeJoueurs.Count; // Ecriture de l'entete du résume de la partie string entete = "DateDonne;NumeroDonne;"; string donne0 = string.Format("{0};0;", evt.DateEvenement); foreach (JoueurStat j in evt.ListeJoueurs) { entete += j.Nom + ";"; donne0 += j.Tapis.ToString() + ";"; } entete += "Gain;JoueurGagnant;CombinaisonGagnante;Carte1;Carte2;Flop1;Flop2;Flop3;Turn;River;Dealer;PetiteBlind;GrosseBlind;MontantPetiteBlind;MontantGrosseBlind"; donne0 += "0;-;-;-;-;-;-;-;-;-;-;-;-;-;-"; _writerResumePartie.WriteLine(entete); _writerResumePartie.WriteLine(donne0); // Ecriture de l'entete de la liste des donnes _writerListeDonnes.WriteLine("DateEvenement;NumeroDonne;Joueur;Carte1;Carte2;Tapis"); // Ecriture de l'entete du détail de la partie // Rappel : Les champs Infos1, Infos2 et Infos3 correspondent aux informations suivantes // AugmentationBlinds Chat ActionJoueur NouvelleDonne Flop Turn River FinDonne FinPartie NouvellePartie // Infos1 PB,GB Message Mise Dealer,PB,GB Carte1 Carte1 Carte1 ListeJoueursGagnants ListeJoueurs ListeJoueurs // Infos2 PPB, PGB - Tapis PB,GB Carte2 - - Combinaison:ListeCartes - ListeTapisJoueurs // Infos3 Delai - - PPB,PGB Carte3 - - Pot - - _writerDetailPartie.WriteLine("DateEvenement;NumeroDonne;TypeAction;Infos1;Infos2;Infos3"); string listeJoueurs = string.Empty; string listeTapis = string.Empty; foreach (JoueurStat j in evt.ListeJoueurs) { listeJoueurs += "," + j.Nom; listeTapis += "," + j.Tapis; } EcrireDetailPartie(evt.DateEvenement, 0, "NouvellePartie", listeJoueurs.Substring(1), listeTapis.Substring(1), PAS_D_INFOS); }
private void TraiterEvtNouvellePartie(string[] infosEvt) { List <JoueurStat> resListe = new List <JoueurStat>(); string[] listeJoueurs = infosEvt[3].Split(','); string[] potJoueurs = infosEvt[4].Split(','); for (int i = 0; i < listeJoueurs.Length; i++) { resListe.Add(new JoueurStat() { Nom = listeJoueurs[i], Tapis = int.Parse(potJoueurs[i]), Carte1 = null, Carte2 = null, PositionElimination = 0 }); } NouvellePartie nellePartie = new NouvellePartie(); nellePartie.ListeJoueurs = resListe; this.EvenementCourant = nellePartie; }
/// <summary> /// Enregistrement d'une nouvelle partie /// </summary> internal void EnregistrerNouvellePartie(List <Joueur> listeJoueurs, Options optJeu) { try { NouvellePartie partie = new NouvellePartie(); partie.OptionsJeu = CloneOptionsEnOptionsStats(optJeu); partie.ListeJoueurs = CloneListeJoueurs(listeJoueurs); foreach (IStatistiques stat in _statistiques) { stat.Enregistrer(partie); } } catch (Exception ex) { logServeur.Debug("Erreur lors d'EnregistrerNouvellePartie : " + ex.Message); } }
private void TraiterEvtNouvellePartie(NouvellePartie evt) { _listeJoueurs = new Dictionary <string, Joueur>(); List <Joueur> resListe = new List <Joueur>(); foreach (JoueurStat j in evt.ListeJoueurs) { Joueur jReplay = new Joueur(j.Nom); jReplay.Identifiant = Guid.NewGuid(); jReplay.TapisJoueur = j.Tapis; _listeJoueurs[j.Nom] = jReplay; resListe.Add(jReplay); } if (DemarrageNouvellePartie != null) { DemarrageNouvellePartie(resListe); } if (MessageInformation != null) { MessageInformation(new MessageInfo(MessageJeu.NouvellePartie)); } }