Added documentation to get_played/hand_distribution (#343)

* Added documentation to get_played/hand_distribution

* Documented get_played_distribution() behavior
This commit is contained in:
MeirGavish
2025-12-28 11:20:30 -08:00
committed by GitHub
parent 6575fc7f94
commit 34889988a9
2 changed files with 23 additions and 4 deletions
+17 -2
View File
@@ -5,8 +5,23 @@
#include <tonc.h>
void get_hand_distribution(u8* ranks_out, u8* suits_out);
void get_played_distribution(u8* ranks_out, u8* suits_out);
/**
* @brief Outputs the distribution of ranks and suits in the hand
* @param ranks_out output - updated such as ranks_out[rank] is the number of cards of rank in the
* hand. Must be of size NUM_RANKS.
* @param suits_out output - updated such as suits_out[suit] is the number of cards if suit in the
* hand Must be of size NUM_SUITS
*/
void get_hand_distribution(u8 ranks_out[NUM_RANKS], u8 suits_out[NUM_SUITS]);
/**
* @brief Outputs the distribution of ranks and suits in the played stack
* @param ranks_out output - updated such as ranks_out[rank] is the number of cards of rank in the
* played stack. Must be of size NUM_RANKS.
* @param suits_out output - updated such as suits_out[suit] is the number of cards if suit in the
* played stack. Must be of size NUM_SUITS
*/
void get_played_distribution(u8 ranks_out[NUM_RANKS], u8 suits_out[NUM_SUITS]);
u8 hand_contains_n_of_a_kind(u8* ranks);
bool hand_contains_two_pair(u8* ranks);
+6 -2
View File
@@ -3,7 +3,7 @@
#include "card.h"
#include "game.h"
void get_hand_distribution(u8* ranks_out, u8* suits_out)
void get_hand_distribution(u8 ranks_out[NUM_RANKS], u8 suits_out[NUM_SUITS])
{
for (int i = 0; i < NUM_RANKS; i++)
ranks_out[i] = 0;
@@ -22,7 +22,7 @@ void get_hand_distribution(u8* ranks_out, u8* suits_out)
}
}
void get_played_distribution(u8* ranks_out, u8* suits_out)
void get_played_distribution(u8 ranks_out[NUM_RANKS], u8 suits_out[NUM_SUITS])
{
for (int i = 0; i < NUM_RANKS; i++)
ranks_out[i] = 0;
@@ -33,6 +33,10 @@ void get_played_distribution(u8* ranks_out, u8* suits_out)
int top = get_played_top();
for (int i = 0; i <= top; i++)
{
/* The difference from get_hand_distribution() (not checking if card is selected)
* is in line Balatro behavior,
* see https://github.com/GBALATRO/balatro-gba/issues/341#issuecomment-3691363488
*/
if (!played[i])
continue;
ranks_out[played[i]->card->rank]++;