#ifndef DICE_H #define DICE_H #include #ifndef MAX_ACTIVE_DICE #define MAX_ACTIVE_DICE 5 #endif enum die_type { COIN = 2, D4 = 4, D8 = 8, D10 = 10, D12 = 12, D20 = 20, D100 = 100 }; struct roll_result_type { size_t individual_result_count; int individual_results[MAX_ACTIVE_DICE]; int total; }; extern int roll_die(enum die_type die); extern enum die_type const *get_active_dice_set(size_t *out_length); extern size_t add_die_to_active(enum die_type die); extern void remove_die_from_active(size_t index); extern struct roll_result_type roll_active_dice_set(enum die_type die); #endif // !DICE_H