summaryrefslogtreecommitdiff
path: root/src/game.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.c')
-rw-r--r--src/game.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/game.c b/src/game.c
index d9e7bdd..21675d9 100644
--- a/src/game.c
+++ b/src/game.c
@@ -98,15 +98,20 @@ static void main_loop_client(int sock)
net_send(sock, msg_type_selected_card, NULL);
state = STATE_CLIENT_WAIT_FOR_OPEN_CARDS;
- sleep(2);
- return;
break;
-#if 0
+
case STATE_CLIENT_WAIT_FOR_OPEN_CARDS:
- receive_sorted_list_of_open_cards();
+ net_recv(sock, msg_type_selected_card_all);
+ pnoc_sort(data->players.players, MAX_PLAYERS); // sort in ascending order
+
+ ui_display_wnd_current_state(data->players.players, MAX_PLAYERS, 0, 0); // TODO fix parameters
+
state = STATE_CLIENT_PLAY_CARDS;
+ sleep(2);
+ return;
break;
+#if 0
case STATE_CLIENT_PLAY_CARDS:
foreach(open_card)
{
@@ -219,12 +224,10 @@ static void main_loop_server(socket_list_t* client_socks)
assert(pl != NULL);
net_recv(client_socks->sockets[i], msg_type_selected_card);
pl->open_card = data->selected_card;
- printf("[Server] received open card: %d\n", pl->open_card);
}
- //sort_open_card_list(); // in ascending order
-
- //send_open_card_list_to_clients();
+ for(int i=0; i<data->players.count; i++)
+ net_send(client_socks->sockets[i], msg_type_selected_card_all, NULL);
state = STATE_SERVER_PLAY_CARDS;
return;
@@ -323,9 +326,9 @@ void start_game(const bool servermode, const char* addr, const char* port)
for(int i=0; i<num_players; i++)
{
net_recv(client_socks.sockets[i], msg_type_hello);
- // assign ids
- client_socks.player_ids[i] = i;
- data->players.players[i].player_id = i;
+ // assign ids (starting with 1; 0 is invalid)
+ client_socks.player_ids[i] = i+1;
+ data->players.players[i].player_id = i+1;
printf("Player connected: %s\n", data->players.players[i].player_name);
}