summaryrefslogtreecommitdiff
path: root/src/game_states.h
diff options
context:
space:
mode:
authorMario Kilies <MarioKilies@GMX.net>2011-01-25 10:16:53 +0100
committerMario Kilies <MarioKilies@GMX.net>2011-01-25 10:16:53 +0100
commit6dad43a768646ef0d8f06958446761eb8a1b3f93 (patch)
tree444e202b636e5f119dacb81dfcbcb3060ae5aae4 /src/game_states.h
parent2d8d54e988ced2aaf485c9640ef0a38526a4eb44 (diff)
Refactored client game states into separate functions instead of handling them in a huge switch() statement.
Diffstat (limited to 'src/game_states.h')
-rw-r--r--src/game_states.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/game_states.h b/src/game_states.h
index 8a868f4..2c09f76 100644
--- a/src/game_states.h
+++ b/src/game_states.h
@@ -1,14 +1,28 @@
#ifndef OXEN_GAME_STATES_H
#define OXEN_GAME_STATES_H
+#include <stdint.h>
+
typedef enum {
+ // Client states
STATE_CLIENT_WAIT_FOR_HAND_CARDS,
STATE_CLIENT_SELECT_OPEN_CARD,
STATE_CLIENT_WAIT_FOR_OPEN_CARDS,
STATE_CLIENT_PLAY_CARDS,
+
+ // Server states
STATE_SERVER_DEAL_HAND_CARDS,
STATE_SERVER_WAIT_FOR_OPEN_CARDS,
STATE_SERVER_PLAY_CARDS
} game_state_t;
+game_state_t state_client_wait_for_hand_cards(const int sock, const uint8_t round);
+game_state_t state_client_select_open_card(const int sock);
+game_state_t state_client_wait_for_open_cards(const int sock);
+game_state_t state_client_play_cards(const int sock);
+
+game_state_t state_server_deal_hand_cards();
+game_state_t state_server_wait_for_open_cards();
+game_state_t state_server_play_cards();
+
#endif // OXEN_GAME_STATES_H