summaryrefslogtreecommitdiff
path: root/c3prj1_deck/deck.h
diff options
context:
space:
mode:
Diffstat (limited to 'c3prj1_deck/deck.h')
-rw-r--r--c3prj1_deck/deck.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/c3prj1_deck/deck.h b/c3prj1_deck/deck.h
new file mode 100644
index 0000000..aace099
--- /dev/null
+++ b/c3prj1_deck/deck.h
@@ -0,0 +1,22 @@
+#ifndef DECK_H
+#define DECK_H
+#include "cards.h"
+#include <stdlib.h>
+struct deck_tag {
+ card_t **cards;
+ size_t n_cards;
+};
+typedef struct deck_tag deck_t;
+
+void print_hand(deck_t *hand);
+int deck_contains(deck_t *d, card_t c);
+void shuffle(deck_t *d);
+void assert_full_deck(deck_t *d);
+// The below functions will be done in course 4.
+deck_t *make_deck_exclude(deck_t *excluded_cards);
+void add_card_to(deck_t *deck, card_t c);
+card_t *add_empty_card(deck_t *deck);
+void free_deck(deck_t *deck);
+deck_t *build_remaining_deck(deck_t **hands, size_t n_hands);
+#endif
+//