summaryrefslogtreecommitdiff
path: root/c3prj1_deck/deck.h
blob: aace0990de228e709328d170d756dd7760c5c3a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
//