/// <summary> /// Passe à l'étape d'après /// </summary> /// <returns>Vrai si on a réussi à passer à l'étape suivante</returns> internal EtapeDonne EtapeSuivante() { if (this.Etape != EtapeDonne.FinDonne) { this.Etape++; RAZMiseJoueurs(false); // Le joueur suivant est le suivant du donneur _numJoueur = _numDealer; do { _numJoueur = (_numJoueur + 1) % ListeJoueurs.Count; } while (ListeJoueurs[_numJoueur].JeterCartes); _numJoueurPrecedent = _numDealer; // On lui dit aussi qu'il a fini de jouer foreach (Joueur j in ListeJoueurs) { j.TourDeJeu = false; } ListeJoueurs[_numJoueur].TourDeJeu = true; // C'est le dealer qui a fait la derniere relance : 0 et qui a joué this.DerniereRelance = ListeJoueurs[_numDealer]; this.MontantDerniereRelance = 0; logServeur.Debug("*** Début de l'étape : {0}. Dealer = {1}", this.Etape, ListeJoueurs[_numDealer].Nom); // On tire les cartes du board switch (this.Etape) { case EtapeDonne.Flop: this.Board[0] = JeuPoker.TirerUneCarteAuHasard(); this.Board[1] = JeuPoker.TirerUneCarteAuHasard(); this.Board[2] = JeuPoker.TirerUneCarteAuHasard(); break; case EtapeDonne.Turn: this.Board[3] = JeuPoker.TirerUneCarteAuHasard(); break; case EtapeDonne.River: this.Board[4] = JeuPoker.TirerUneCarteAuHasard(); break; } } return(this.Etape); }
/// <summary> /// Redémarre une donne /// Etape : preflop /// </summary> internal void NouvelleDonne() { this.Etape = EtapeDonne.PreFlop; Pot = 0; // Le dealer change : c'est le suivant du précédent qui était dealer do { _numDealer = (_numDealer + 1) % ListeJoueurs.Count; } while (ListeJoueurs[_numDealer].Elimine); ChangerDealer(_numDealer); JeuPoker.ReinitialiserJeu(); // On "reset" les infos de chaque joueur foreach (Joueur j in ListeJoueurs) { j.Mise = 0; j.MiseTotale = 0; j.TourDeJeu = false; j.DerniereAction = TypeActionJoueur.Aucune; j.JeterCartes = false; if (!j.Elimine) { j.Carte1 = JeuPoker.TirerUneCarteAuHasard(); j.Carte2 = JeuPoker.TirerUneCarteAuHasard(); } else { j.Carte1 = null; j.Carte2 = null; j.Bouton = TypeBouton.Aucun; } } this.Board = new CartePoker[5]; this.NumeroDonne++; }