34 lines
624 B
C
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
|