From 648d49910525abfbdd4055cef179ca17131cd1f9 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Tue, 4 Jan 2011 02:16:06 +0100 Subject: added functions for calculating card/stackpoints --- src/common.c | 31 +++++++++++++++++++++++++++++++ src/common.h | 10 ++++++++++ src/main.c | 3 ++- 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/common.c create mode 100644 src/common.h (limited to 'src') diff --git a/src/common.c b/src/common.c new file mode 100644 index 0000000..d676f12 --- /dev/null +++ b/src/common.c @@ -0,0 +1,31 @@ +#include "common.h" + +int cardpoints(card c) +{ + int rem = c % 10; + int div = c / 10; + + if(rem == div) + return (rem==5)?7:5; + + if(rem == 5) + return 2; + else if(rem == 0) + return 3; + + return 1; +} + +int stackpoints(cardstack s) +{ + int points = 0; + for(int i=0; i 0) + points += cardpoints(cur); + } + + return points; +} + diff --git a/src/common.h b/src/common.h new file mode 100644 index 0000000..13fcf7c --- /dev/null +++ b/src/common.h @@ -0,0 +1,10 @@ +#define MAX_CARDSTACK_SIZE 5 +#define MAX_CARDHAND_SIZE 10 + +typedef char card; +typedef card cardstack[5]; +typedef card hand[10]; + +int cardpoints(card c); +int stackpoints(cardstack s); + diff --git a/src/main.c b/src/main.c index d7b2613..ea622ec 100644 --- a/src/main.c +++ b/src/main.c @@ -1,8 +1,9 @@ #include #include +#include "common.h" int main(int argc, char **argv) { - printf("oxen\n"); + printf("55:%d, 42:%d, 11:%d, 100:%d, 85:%d\n", cardpoints(55), cardpoints(42), cardpoints(11), cardpoints(100), cardpoints(85)); return EXIT_SUCCESS; } -- cgit v1.2.3