// 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; }
// 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); }
/* * // 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); }
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; }