summaryrefslogtreecommitdiff
path: root/c3prj1_deck/deck.h
diff options
context:
space:
mode:
authorHaidong Ji2022-04-15 15:51:30 -0500
committerHaidong Ji2022-04-15 15:51:30 -0500
commit442a49ad5a48d417345959b903ae6a6d32d55759 (patch)
treec7127bb497e5e439018b1915e0136eec2c9cb124 /c3prj1_deck/deck.h
Great C programming funHEADmaster
Excellent fundamentals and displine training, many tools and techniques exercises: gdb, emacs, valgrind, git
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
+//