I am doing 5 card stud nothing wild
poker game
I renamed all the instances of the word wild in my code to open_slots. This way it's not confusing, sorry.
Edit: I included the is_possible_
functions purely for use with the AI.
The arrow operator accesses members of pointers, or iterators. It’s like the dot operator, in a way.
OK, check this code out. This function checks a 5-card hand for a quadruplet.
bool is_four_of_a_kind(const vector<card>& sorted_hand)
{
// Use a map to store the count of values
map<short unsigned int, size_t> value_counts;
// Fill the map with counts of the values
for (size_t i = 0; i < MAX_NUM_CARDS_PER_HAND; i++)
value_counts[sorted_hand[i].value]++;
// For each element in the map
for (map<short unsigned int, size_t>::const_iterator ci = value_counts.begin(); ci != value_counts.end(); ci++)
if (ci->second == 4) // Is the size_t equal to 4?
return true;
// If we made it this far, then no quad was found
return false;
}
Does this help?
Also, try this one:
bool is_flush(const vector<card>& sorted_hand)
{
// Use a map to store the count of suits
map<short unsigned int, size_t> suit_counts;
// Fill the map with counts of the suits
for (size_t i = 0; i < MAX_NUM_CARDS_PER_HAND; i++)
suit_counts[sorted_hand[i].suit]++;
// If only one suit, then it's a flush
if (suit_counts.size() == 1)
return true;
// If we made it this far, then no flush was found
return false;
}
can you give me an example of how to use the arrow operator, I want to use it in my straight determination in my poker game
I want to use this code and understand how it works
straight_found = true; // default true for sequential test
if ((hand->cards[4] % 13 == 12) && (hand->cards[0] % 13 == 0))
{ // King is present. rotate Ace to the back.
make_ace_high = true;
std::rotate(&hand->cards[0], &hand->cards[0]+1, &hand->cards[5]);
}
for (int i = 0; i < 4; i++)
{
int a = hand->cards[i] % 13;
int b = hand->cards[i + 1] % 13;
if (make_ace_high)
{
if (a == 0) a = 13;
if (b == 0) b = 13;
}
if( b - a != 1 )
{
straight_found = false;
}
}
Advertisement
Popular Topics
Advertisement