CruceGame  v0.4.0
 All Classes Files Functions Variables Enumerations Enumerator Macros Pages
deck.h
Go to the documentation of this file.
1 
7 #ifndef DECK_H
8 #define DECK_H
9 
10 #include "platform.h"
11 #include "constants.h"
12 
24 struct Card{
25  enum Suit suit;
26  int value;
27 };
28 
38 struct Deck{
39  struct Card *cards[DECK_SIZE];
40 };
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
54 EXPORT struct Card *deck_createCard(const enum Suit suit, const int value);
55 
63 EXPORT int deck_deleteCard(struct Card **card);
64 
70 EXPORT struct Deck *deck_createDeck();
71 
79 EXPORT int deck_deckShuffle(struct Deck *deck);
80 
88 EXPORT int deck_deleteDeck(struct Deck **deck);
89 
102 EXPORT int deck_compareCards(const struct Card *card1,const struct Card *card2,
103  const enum Suit trump);
104 
112 EXPORT int deck_cardsNumber(const struct Deck *deck);
113 
114 #ifdef __cplusplus
115 }
116 #endif
117 
118 #endif
119 
EXPORT int deck_compareCards(const struct Card *card1, const struct Card *card2, const enum Suit trump)
Compare two cards.
Definition: deck.c:138
EXPORT int deck_deleteDeck(struct Deck **deck)
Frees the memory of a deck and sets the pointer to NULL.
Definition: deck.c:80
EXPORT struct Deck * deck_createDeck()
Allocates and initializes a deck.
Definition: deck.c:63
Contains definitions of various symbolic constants.
EXPORT int deck_cardsNumber(const struct Deck *deck)
The function counts the cards from deck.
Definition: deck.c:167
Contains platform specific definitions.
enum Suit suit
Definition: deck.h:25
Suit
Constants for suit.
Definition: constants.h:54
Card structure, to keep suit and value.
Definition: deck.h:24
A 28 card deck used in this game.
Definition: deck.h:38
int value
Definition: deck.h:26
EXPORT int deck_deckShuffle(struct Deck *deck)
Shuffles a deck.
Definition: deck.c:119
struct Card * cards[DECK_SIZE]
Definition: deck.h:39
EXPORT int deck_deleteCard(struct Card **card)
Frees the memory of a card and makes the pointer NULL.
Definition: deck.c:46
#define DECK_SIZE
Deck size.
Definition: constants.h:22
EXPORT struct Card * deck_createCard(const enum Suit suit, const int value)
Allocates and initializes a card.
Definition: deck.c:23