dice-gui/src/dice.h
2025-09-17 16:45:21 +02:00

34 lines
624 B
C

#ifndef DICE_H
#define DICE_H
#include <stdlib.h>
#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