summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMario Kilies <MarioKilies@GMX.net>2011-01-04 22:47:32 +0100
committerMario Kilies <MarioKilies@GMX.net>2011-01-04 22:47:32 +0100
commit5d68aca266e1797024c74fde5e13fe04b2594bcf (patch)
treeb5792bbefc807f87893aab80cc41c2c53452237a
parent7e1e87b7ef739f9e2181ad12ebaef69a17b5b329 (diff)
parent7744dbbdb873be06e997de57396c730618e50e98 (diff)
Merge branch 'master' of ssh://schnippi@wg.reiner-h.de:30022/data/src/oxen
-rw-r--r--src/game.c40
-rw-r--r--src/game.h9
2 files changed, 49 insertions, 0 deletions
diff --git a/src/game.c b/src/game.c
new file mode 100644
index 0000000..a7e33be
--- /dev/null
+++ b/src/game.c
@@ -0,0 +1,40 @@
+#include "game.h"
+#include "card.h"
+#include <stdlib.h>
+#include <stdbool.h>
+#include <time.h>
+
+void init_mainstack(card* stack, const uint32_t size)
+{
+ // assign card values to main stack
+ for(uint32_t i=0, val=MIN_CARD; i<size; i++, val++)
+ stack[i] = val;
+
+ // shuffle stack
+ for(uint32_t i=0; i<3*size; i++)
+ {
+ uint32_t x = rand() % size;
+ uint32_t y = rand() % size;
+ card tmp = stack[x];
+ stack[x] = stack[y];
+ stack[y] = tmp;
+ }
+}
+
+void start_game(void)
+{
+ bool running = true;
+ int cards = MAX_CARD - MIN_CARD + 1;
+ card mainstack[cards];
+
+ srand(time(0));
+
+ init_mainstack(mainstack, cards);
+
+ // main game loop
+ while(running)
+ {
+
+ }
+}
+
diff --git a/src/game.h b/src/game.h
new file mode 100644
index 0000000..16743ea
--- /dev/null
+++ b/src/game.h
@@ -0,0 +1,9 @@
+#ifndef OXEN_GAME_H
+#define OXEN_GAME_H
+
+#define MIN_CARD 1
+#define MAX_CARD 104
+
+void start_game(void);
+
+#endif // OXEN_GAME_H