diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-05 01:10:05 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-05 01:10:05 +0100 |
| commit | 5846e235529688c11d6d95395e7e4c4d3ccaa3ba (patch) | |
| tree | 92657c7b1968582e113260af54cbbd775accc287 /src/game.c | |
| parent | 79467dcd9fd246354afbca937d912d620795500d (diff) | |
added first game states and some pseudo code
Diffstat (limited to 'src/game.c')
| -rw-r--r-- | src/game.c | 49 |
1 files changed, 49 insertions, 0 deletions
@@ -3,6 +3,7 @@ #include <stdlib.h> #include <stdbool.h> #include <time.h> +#include <unistd.h> void init_mainstack(card* stack, const uint32_t size) { @@ -26,6 +27,8 @@ void start_game(void) bool running = true; int cards = MAX_CARD - MIN_CARD + 1; card mainstack[cards]; + gamestate state = STATE_DEALCARDS; + int input; srand(time(0)); @@ -34,7 +37,53 @@ void start_game(void) // main game loop while(running) { + input = getch(); // ERR if no key pressed + switch(state) + { + case STATE_DEALCARDS: // deal cards to players + // dealcards(mainstack); + state = STATE_SELECTCARD; + break; + case STATE_SELECTCARD: // player has to select own card + // if(input != ERR) + // cardselect(input); + // if(input == '\n') + // { + // get_selected_card(); + // state = STATE_WAIT_OPPONENTCARDS + // } + break; + case STATE_WAIT_OPPONENTCARDS: // wait until all opponents have selected their cards + // if(opponent_cards_rdy()) + // { + // if(lowest_card_player() == own_id) + // state = STATE_SELECTSTACK; + // else + // state = STATE_WAIT_OPPONENTSTACK; + // } + break; + case STATE_WAIT_OPPONENTSTACK: // wait until opponent has selected a stack + break; + case STATE_SELECTSTACK: // player has to select a stack + //if(input != ERR) + // stackselect(input); + //if(input == '\n') + //{ + // get_selected_stack(); + // update_stack(); + // + // if(players_remaining()) + // state = STATE_WAIT_OPPONENTSTACK; + // else + // state = STATE_SELECTCARD; + //} + break; + default: + assert(false); // should never happen + } + + usleep(1000); } } |
