diff options
Diffstat (limited to 'src/game.c')
| -rw-r--r-- | src/game.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -21,13 +21,14 @@ static void main_loop_client(int sock) { bool running = true; game_state_t state = STATE_CLIENT_WAIT_FOR_HAND_CARDS; - uint8_t round = 1; + uint8_t round = 0; while(running) { switch(state) { case STATE_CLIENT_WAIT_FOR_HAND_CARDS: + round++; state = state_client_wait_for_hand_cards(sock, round); break; @@ -38,11 +39,14 @@ static void main_loop_client(int sock) case STATE_CLIENT_WAIT_FOR_OPEN_CARDS: state = state_client_wait_for_open_cards(sock); break; -#if 0 + case STATE_CLIENT_PLAY_CARDS: state = state_client_play_cards(sock); break; -#endif + + case STATE_CLIENT_GAME_FINISHED: + running = false; + break; default: printf("main_loop_client: entered unknown state\n"); exit(EXIT_FAILURE); @@ -53,7 +57,7 @@ static void main_loop_client(int sock) static void main_loop_server(socket_list_t* client_socks) { bool running = true; - uint8_t round = 1; + uint8_t round = 0; game_state_t state = STATE_SERVER_DEAL_HAND_CARDS; main_stack_t m; @@ -64,17 +68,21 @@ static void main_loop_server(socket_list_t* client_socks) switch(state) { case STATE_SERVER_DEAL_HAND_CARDS: + round++; state = state_server_deal_hand_cards(client_socks, round, &m); break; case STATE_SERVER_WAIT_FOR_OPEN_CARDS: state = state_server_wait_for_open_cards(client_socks); break; -#if 0 + case STATE_SERVER_PLAY_CARDS: - state = state_server_play_cards(client_socks, round); + state = state_server_play_cards(client_socks, &m); + break; + + case STATE_SERVER_GAME_FINISHED: + running = false; break; -#endif default: printf("main_loop_server: entered unknown state\n"); exit(EXIT_FAILURE); |
