Initial commit
This commit is contained in:
38
main/tarot_logic.h
Normal file
38
main/tarot_logic.h
Normal file
@@ -0,0 +1,38 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user