summaryrefslogtreecommitdiff
path: root/src/card_stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/card_stack.c')
-rw-r--r--src/card_stack.c25
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;
+}
+