Beispiel #1
0
 // Constructors
 public Personality(Wealth_Types wealth_type = Wealth_Types.ALRIGHT, Betting_Types betting_type = Betting_Types.CALCULATED, Perception_Types perception_type = Perception_Types.AWARE)
 {
     wealth_type_p     = wealth_type;
     betting_type_p    = betting_type;
     perception_type_p = perception_type;
     reset_tell_chance_modifier();
     chances = 0;
 }
Beispiel #2
0
        // Constructors
        public Game(int n_players, Deck deck, int starting_funds = Money.DEFAULT_ORIGINAL_AMOUNT, int buy_in = Money.DEFAULT_BUY_IN, int max_size = Hand.DEFAULT_MAX_SIZE, int big_blind = Money.DEFAULT_BIG_BLIND, int small_blind = Money.DEFAULT_SMALL_BLIND, int ante = Money.DEFAULT_ANTE)
        {
            if (n_players < 4)
            {
                n_players = 4;
            }
            else if (n_players > 6)
            {
                n_players = 6;
            }

            Random rand = new Random();

            this.deck = deck;
            this.deck.shuffle();

            players      = new Player[n_players];
            player_queue = new Queue <Player>(n_players);
            string player_1_name  = query_player_1_name();
            bool   is_male_player = query_player_1_gender();

            // initialize the players
            // initialize the bank
            // empty out the queue
            // assign and shuffle the deck

            /*
             * int starting_funds = Money.DEFAULT_ORIGINAL_AMOUNT;
             * int buy_in = Money.DEFAULT_BUY_IN;
             * int big_blind = Money.DEFAULT_BIG_BLIND;
             * int small_blind = Money.DEFAULT_SMALL_BLIND;
             * int ante = Money.DEFAULT_ANTE;
             * int max_size = Hand.DEFAULT_MAX_SIZE;
             */

            bool[]   AI_genders;
            string[] AI_names = choose_AI_names(player_1_name, out AI_genders);


            players[0] = new Player(starting_funds, buy_in, big_blind, small_blind, ante, deck.draw(5), this.deck, max_size, player_1_name, is_male_player);
            player_queue.Enqueue(players[0]);

            for (int i = 1; i < n_players; i++)
            {
                Wealth_Types     wealth_type     = (Wealth_Types)rand.Next((int)Wealth_Types.END);
                Betting_Types    betting_type    = (Betting_Types)rand.Next((int)Betting_Types.END);
                Perception_Types perception_type = (Perception_Types)rand.Next((int)Perception_Types.END);
                Personality      personality     = new Personality(wealth_type, betting_type, perception_type);

                players[i] = new AIPlayer(personality, this.deck, AI_names[i - 1], AI_genders[i - 1]);

                player_queue.Enqueue(players[i]);
            }

            // assign the bank's variables
            bank = new Money(0, buy_in, big_blind, small_blind, ante);
        }
Beispiel #3
0
        /*
         * // Testing mainframe
         * public static void Main(string[] args)
         * {
         * Personality personality = new Personality(Wealth_Types.RICH, Betting_Types.EXTREME, Perception_Types.AWARE);
         * AIPlayer player = new AIPlayer(personality, new Deck());
         *
         * player.AI_take_action(true, false, 20);
         *
         * Console.Read();
         * }
         */

        // Constructor
        public AIPlayer(Personality personality, int starting_funds, int buy_in, int big_blind, int small_blind, int ante, Card[] starting_hand, Deck deck, int max_size, string name, bool is_male) : base(starting_funds, buy_in, big_blind, small_blind, ante, starting_hand, deck, max_size, name, is_male)
        {
            Wealth_Types actual_wealth_type = Wealth_Types.POOR;

            for (int i = (int)Wealth_Types.END - 1; i > 0; i--)
            {
                if (starting_funds > (int)(Wealth_Values)i)
                {
                    actual_wealth_type = (Wealth_Types)i;
                    break;
                }
            }

            AI_Ctor_Helper(personality);
        }
Beispiel #4
0
 static public Wealth_Values convert_wealth_type_to_value(Wealth_Types wealth_type)
 {
     if (wealth_type == Wealth_Types.POOR)
     {
         return(Wealth_Values.POOR);
     }
     else if (wealth_type == Wealth_Types.ALRIGHT)
     {
         return(Wealth_Values.ALRIGHT);
     }
     else if (wealth_type == Wealth_Types.WELL_OFF)
     {
         return(Wealth_Values.WELL_OFF);
     }
     else if (wealth_type == Wealth_Types.RICH)
     {
         return(Wealth_Values.RICH);
     }
     else
     {
         return(Wealth_Values.END);
     }
 }
 private void update_wealth_type(int funds)
 {
     Wealth_Values value = (Wealth_Values)funds;
      if (value >= Wealth_Values.RICH)
      {
     wealth_type_p = Wealth_Types.RICH;
      }
      else if (value >= Wealth_Values.WELL_OFF)
      {
     wealth_type_p = Wealth_Types.WELL_OFF;
      }
      else if (value >= Wealth_Values.ALRIGHT)
      {
     wealth_type_p = Wealth_Types.ALRIGHT;
      }
      else
      {
     wealth_type_p = Wealth_Types.POOR;
      }
 }
 public static Wealth_Values convert_wealth_type_to_value(Wealth_Types wealth_type)
 {
     if (wealth_type == Wealth_Types.POOR)
      {
     return Wealth_Values.POOR;
      }
      else if (wealth_type == Wealth_Types.ALRIGHT)
      {
     return Wealth_Values.ALRIGHT;
      }
      else if (wealth_type == Wealth_Types.WELL_OFF)
      {
     return Wealth_Values.WELL_OFF;
      }
      else if (wealth_type == Wealth_Types.RICH)
      {
     return Wealth_Values.RICH;
      }
      else
      {
     return Wealth_Values.END;
      }
 }
 // Constructors
 public Personality(Wealth_Types wealth_type = Wealth_Types.ALRIGHT, Betting_Types betting_type = Betting_Types.CALCULATED, Perception_Types perception_type = Perception_Types.AWARE)
 {
     wealth_type_p = wealth_type;
      betting_type_p = betting_type;
      perception_type_p = perception_type;
      reset_tell_chance_modifier();
      chances = 0;
 }