private ActionJoueur SuitOuParole(Dictionary <TypeActionJoueur, ActionPossible> actions) { ActionJoueur res = null; if (actions.ContainsKey(TypeActionJoueur.Parole)) { res = new ActionJoueur(TypeActionJoueur.Parole); } else if (actions.ContainsKey(TypeActionJoueur.Suit)) { res = new ActionJoueur(TypeActionJoueur.Suit, actions[TypeActionJoueur.Suit].MontantMax); } else { res = new ActionJoueur(TypeActionJoueur.Tapis, actions[TypeActionJoueur.Tapis].MontantMax); } return(res); }
/// <summary> /// Une fois l'action recue : on rappelle /// </summary> /// <param name="actions"></param> /// <param name="timeout"></param> public override void RecevoirListeActionsPossibles(Dictionary <TypeActionJoueur, ActionPossible> actions, int timeout) { System.Threading.Thread.Sleep(_rand.Next(1000)); ActionJoueur act; if (_choixPasse <= 3) { act = new ActionJoueur(TypeActionJoueur.Passe); } else if (_choixPasse >= 4 && _choixPasse <= 8) { act = SuitOuParole(actions); } else { if (_bot.Carte1.Hauteur == HauteurCarte.As || _bot.Carte2.Hauteur == HauteurCarte.As) { if (actions.ContainsKey(TypeActionJoueur.Relance)) { act = new ActionJoueur(TypeActionJoueur.Relance, 2 * actions[TypeActionJoueur.Relance].MontantMax); } else if (actions.ContainsKey(TypeActionJoueur.Mise)) { act = new ActionJoueur(TypeActionJoueur.Mise, 2 * actions[TypeActionJoueur.Mise].MontantMax); } else { act = new ActionJoueur(TypeActionJoueur.Tapis, _bot.TapisJoueur); } } else { act = SuitOuParole(actions); } } _serveur.EnvoyerAction(_identifiantConnection, act); }