#pragma once #include #include #include #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