From 5846e235529688c11d6d95395e7e4c4d3ccaa3ba Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Wed, 5 Jan 2011 01:10:05 +0100 Subject: added first game states and some pseudo code --- src/game.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src/game.c') diff --git a/src/game.c b/src/game.c index a7e33be..afb8fa0 100644 --- a/src/game.c +++ b/src/game.c @@ -3,6 +3,7 @@ #include #include #include +#include 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); } } -- cgit v1.2.3