card_group_init(&player->hand);
}
+static int card_group_is_run(card_group_t *card_group)
+{
+ int i;
+ int lowest = 14, highest = 0;
+ if (card_group->num_cards > 13 || card_group->num_cards < 3)
+ {
+ return 0;
+ }
+ for (i = 0; i < card_group->num_cards - 1; ++i)
+ {
+ if (card_group->cards[i].color != card_group->cards[i + 1].color)
+ {
+ return 0;
+ }
+ if (card_group->cards[i].number > highest)
+ {
+ highest = card_group->cards[i].number;
+ }
+ if (card_group->cards[i].number < lowest)
+ {
+ lowest = card_group->cards[i].number;
+ }
+ }
+ if (highest - lowest = card_group->num_cards - 1)
+ {
+ return 1;
+ }
+}
+
+
static int card_group_is_set(card_group_t *card_group)
{
int i;
seen_color[i] = card_group->cards[i].color;
for (i = 0; i < card_group->num_cards; ++i)
{
-
seen_color[card_group->cards[i].color]++;
+ if (seen_color[card_group->cards[i].color] > 1)
+ {
+ return 0;
+ }
}
return 1;
}