diff options
Diffstat (limited to 'src/card_stack.c')
| -rw-r--r-- | src/card_stack.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/card_stack.c b/src/card_stack.c index 206a9d8..13b14dd 100644 --- a/src/card_stack.c +++ b/src/card_stack.c @@ -16,3 +16,28 @@ uint32_t card_stack_get_points(const card_stack_t *cs) return points; } + +const card card_stack_upper_card(const card_stack_t *cs) +{ + assert(cs != NULL); + + for(int i=0; i<MAX_CARD_STACK_SIZE; i++) + { + card cur = cs->cards[MAX_CARD_STACK_SIZE-1-i]; + if(cur != 0) + return cur; + } + + return 0; +} + +void card_stack_clear(card_stack_t *cs, const card new_card) +{ + assert(cs != NULL); + + for(int i=0; i<MAX_CARD_STACK_SIZE; i++) + cs->cards[i] = 0; + + cs->cards[0] = new_card; +} + |
