Added Full House

This commit is contained in:
2021-06-23 09:42:13 -07:00
parent 0611b59715
commit c6fd56816c
9 changed files with 132 additions and 45 deletions

View File

@@ -27,7 +27,7 @@ void cardHandSort(card_t *cards, uint8_t length) {
arraySort(sizeof(card_t), cards, (int32_t)length, (arraysort_t *)&_cardSorter);
}
int32_t _cardSorter(const void* left, const void* right) {
int32_t _cardSorter(void* left, void* right) {
card_t cardL = *((card_t *)left);
card_t cardR = *((card_t *)right);
@@ -43,11 +43,7 @@ int32_t _cardSorter(const void* left, const void* right) {
}
int32_t cardContains(card_t *hand, uint8_t length, card_t card) {
int32_t i;
for(i = 0; i < length; i++) {
if(hand[i] == card) return i;
}
return -1;
return arrayFind(sizeof(card_t), hand, (int32_t)length, &card);
}
int32_t cardContainsNumber(card_t *hand, uint8_t length, uint8_t number) {
@@ -56,4 +52,20 @@ int32_t cardContainsNumber(card_t *hand, uint8_t length, uint8_t number) {
if(cardGetNumber(hand[i]) == number) return i;
}
return -1;
}
uint8_t cardCountPairs(
card_t *in, uint8_t inCount, uint8_t number, int32_t out[CARD_SUIT_COUNT]
) {
uint8_t i, count;
int32_t index;
count = 0;
for(i = 0; i <= CARD_SUIT_COUNT; i++) {// "For each suit"
index = cardContains(in, inCount, cardGet(number, i));
if(index == -1) continue;
out[count++] = index;
}
return count;
}