2025-02-01 06:40:33 -05:00
|
|
|
#ifndef _HF_TEYAKU_
|
|
|
|
#define _HF_TEYAKU_
|
|
|
|
|
|
|
|
#include "card.h"
|
|
|
|
|
2025-02-01 07:04:28 -05:00
|
|
|
typedef enum SetTeyaku {
|
2025-02-01 08:28:52 -05:00
|
|
|
SET_TEYAKU_NONE = 0,
|
2025-02-01 07:04:28 -05:00
|
|
|
TRIPLET,
|
|
|
|
STANDING_TRIPLET,
|
|
|
|
TWO_TRIPLETS,
|
|
|
|
TRIPLET_AND_STANDING_TRIPLET,
|
|
|
|
TWO_STANDING_TRIPLETS,
|
|
|
|
THREE_PAIRS,
|
|
|
|
FOUR_OF_A_KIND,
|
|
|
|
TRIPLET_AND_TWO_PAIRS,
|
|
|
|
ONE_TWO_FOUR,
|
|
|
|
FOUR_THREE,
|
|
|
|
} SetTeyaku;
|
|
|
|
|
|
|
|
typedef enum ChaffTeyaku {
|
2025-02-01 08:28:52 -05:00
|
|
|
CHAFF_TEYAKU_NONE = 0,
|
2025-02-01 07:04:28 -05:00
|
|
|
CHAFF_TEYAKU_RED,
|
|
|
|
ONE_RIBBON,
|
|
|
|
ONE_ANIMAL,
|
|
|
|
ONE_BRIGHT,
|
|
|
|
EMPTY_HAND,
|
|
|
|
} ChaffTeyaku;
|
|
|
|
|
2025-02-01 08:32:38 -05:00
|
|
|
int calculate_teyaku(const Hand h);
|
|
|
|
SetTeyaku calculate_set_teyaku(const Hand h);
|
|
|
|
ChaffTeyaku calculate_chaff_teyaku(const Hand h);
|
|
|
|
char *set_teyaku_english(const Hand h);
|
|
|
|
char *chaff_teyaku_english(const Hand h);
|
|
|
|
int set_teyaku_points(const Hand h);
|
|
|
|
int chaff_teyaku_points(const Hand h);
|
2025-02-01 06:40:33 -05:00
|
|
|
|
|
|
|
#endif
|