39 lines
792 B
C
39 lines
792 B
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#include "tarot_deck.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define TAROT_MAX_SPREAD_CARDS 8
|
|
|
|
typedef enum {
|
|
TAROT_SPREAD_3_CARD = 3,
|
|
TAROT_SPREAD_8_CARD = 8,
|
|
} tarot_spread_t;
|
|
|
|
typedef struct {
|
|
const tarot_card_t *card;
|
|
bool reversed;
|
|
const char *position_meaning;
|
|
} tarot_drawn_card_t;
|
|
|
|
typedef struct {
|
|
tarot_spread_t spread;
|
|
size_t count;
|
|
tarot_drawn_card_t cards[TAROT_MAX_SPREAD_CARDS];
|
|
} tarot_reading_t;
|
|
|
|
const char *tarot_spread_name(tarot_spread_t spread);
|
|
const char *tarot_spread_position_meaning(tarot_spread_t spread, size_t index);
|
|
void tarot_logic_draw_reading(tarot_reading_t *reading, tarot_spread_t spread, bool reversed_enabled);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|