コード例 #1
0
 private void TraiterEvtActionJoueur(string[] infosEvt, TypeActionJoueur typeAction)
 {
     this.EvenementCourant = new ActionJoueurStat()
     {
         TypeAction = typeAction,
         Nom        = infosEvt[3],
         Mise       = int.Parse(infosEvt[4]),
         Tapis      = int.Parse(infosEvt[5])
     };
 }
コード例 #2
0
ファイル: InfosTable.cs プロジェクト: 74nu5/poker
        /// <summary>
        /// Calcule les actions possible pour le joueur concerné : si aucune action n'est possible renvoie null
        /// </summary>
        /// <param name="J">Le joueur concerné</param>
        /// <returns></returns>
        internal Dictionary <TypeActionJoueur, ActionPossible> CalculActionsPossibles(Joueur j)
        {
            Dictionary <TypeActionJoueur, ActionPossible> actions = null;

            if (!j.JeterCartes && j.TapisJoueur > 0)
            {
                actions = new Dictionary <TypeActionJoueur, ActionPossible>();
                // Passe
                actions[TypeActionJoueur.Passe] = ActionPossible.Jeter;

                // Parole ou suivre
                if (
                    (j.DerniereAction == TypeActionJoueur.GrosseBlind && j == this.DerniereRelance && this.Etape == EtapeDonne.PreFlop) ||
                    (this.MontantDerniereRelance == 0)
                    )
                {
                    actions[TypeActionJoueur.Parole] = new ActionPossible(TypeActionJoueur.Parole, 0, 0);
                }
                else if (j.TapisJoueur >= this.MontantDerniereRelance)
                {
                    // Pour suivre, montant min = la mise actuelle du joueur, montant max = la somme totale à mettre
                    actions[TypeActionJoueur.Suit] = new ActionPossible(TypeActionJoueur.Suit, j.Mise, this.MontantDerniereRelance);
                }


                // Relance / mise
                if (j.TapisJoueur > this.RelanceMinimum())
                {
                    // Si le joueur est le premier à parler : il mise, sinon il relance
                    TypeActionJoueur actionJoueur = TypeActionJoueur.Relance;
                    if (this.MontantDerniereRelance == 0)
                    {
                        actionJoueur = TypeActionJoueur.Mise;
                    }
                    actions[actionJoueur] = new ActionPossible(actionJoueur, this.RelanceMinimum(), j.TapisJoueur);
                }

                // Tapis
                actions[TypeActionJoueur.Tapis] = new ActionPossible(TypeActionJoueur.Tapis, j.TapisJoueur, j.TapisJoueur);
            }

            return(actions);
        }
コード例 #3
0
ファイル: EnregistrementStats.cs プロジェクト: 74nu5/poker
 /// <summary>
 /// Enregistrement de l'action d'un joueur
 /// </summary>
 /// <param name="expediteur"></param>
 /// <param name="action"></param>
 internal void EnregistrerActionJoueur(Joueur expediteur, TypeActionJoueur action)
 {
     try
     {
         ActionJoueurStat actionStat = new ActionJoueurStat();
         actionStat.Tapis      = expediteur.TapisJoueur;
         actionStat.Mise       = expediteur.Mise;
         actionStat.Nom        = expediteur.Nom;
         actionStat.TypeAction = action;
         foreach (IStatistiques stat in _statistiques)
         {
             stat.Enregistrer(actionStat);
         }
     }
     catch (Exception ex)
     {
         logServeur.Debug("Erreur lors d'EnregistrerActionJoueur : " + ex.Message);
     }
 }
コード例 #4
0
ファイル: ActionJoueur.cs プロジェクト: 74nu5/poker
 /// <summary>
 /// Création d'une action avec un montant égal à 0
 /// </summary>
 /// <param name="type">Le type de l'action</param>
 public ActionJoueur(TypeActionJoueur type)
     : this(type, 0)
 {
 }
コード例 #5
0
ファイル: ActionJoueur.cs プロジェクト: 74nu5/poker
 /// <summary>
 /// Création d'une action avec un montant
 /// </summary>
 /// <param name="expediteur">La source de l'action</param>
 /// <param name="type">Le type de l'action</param>
 /// <param name="montant">Le montant de l'action</param>
 public ActionJoueur(TypeActionJoueur type, int montant)
 {
     _typeAction    = type;
     _montantAction = montant;
 }
コード例 #6
0
 /// <summary>
 /// Création d'une action possible
 /// </summary>
 /// <param name="type">Le type de l'action</param>
 /// <param name="active">Action active</param>
 /// <pa
 public ActionPossible(TypeActionJoueur type, int montantMin, int montantMax)
     : this(type)
 {
     _montantMin = montantMin;
     _montantMax = montantMax;
 }
コード例 #7
0
 /// <summary>
 /// Création d'une action possible
 /// </summary>
 /// <param name="type">Le type de l'action</param>
 /// <param name="active">Action active</param>
 public ActionPossible(TypeActionJoueur type)
 {
     _typeAction = type;
 }