diff options
| -rw-r--r-- | src/game.c | 40 | ||||
| -rw-r--r-- | src/game.h | 9 |
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 |
