summaryrefslogtreecommitdiff
path: root/src/common.c
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2011-01-04 02:16:06 +0100
committerReiner Herrmann <reiner@reiner-h.de>2011-01-04 02:16:06 +0100
commit648d49910525abfbdd4055cef179ca17131cd1f9 (patch)
tree9eccf586b30e4210c3b80a1ca00c4ffe68a392e9 /src/common.c
parenta4762c7376f172c0097045fc4ca1e7a81e157b88 (diff)
added functions for calculating card/stackpoints
Diffstat (limited to 'src/common.c')
-rw-r--r--src/common.c31
1 files changed, 31 insertions, 0 deletions
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<MAX_CARDSTACK_SIZE; i++)
+ {
+ card cur = s[i];
+ if(cur > 0)
+ points += cardpoints(cur);
+ }
+
+ return points;
+}
+