summaryrefslogtreecommitdiff
path: root/c3prj2_eval/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 /c3prj2_eval/deck.h
Great C programming funHEADmaster
Excellent fundamentals and displine training, many tools and techniques exercises: gdb, emacs, valgrind, git
Diffstat (limited to 'c3prj2_eval/deck.h')
-rw-r--r--c3prj2_eval/deck.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/c3prj2_eval/deck.h b/c3prj2_eval/deck.h
new file mode 100644
index 0000000..f5f44bf
--- /dev/null
+++ b/c3prj2_eval/deck.h
@@ -0,0 +1,22 @@
+#ifndef DECK_H
+#define DECK_H
+#include <stdlib.h>
+#include "cards.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
+//