diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-24 22:05:57 +0100 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2011-01-24 22:05:57 +0100 |
| commit | afe777a3cfa06fbdf391a338ba8506cf9cbcbb47 (patch) | |
| tree | 92eef4d2fd4e90b2149e39b5b4d7523205b3476e /src/game.c | |
| parent | 6f0d8cbe42c1097eb540bcd83b9be2b16c31a923 (diff) | |
server: send open cards to clients
client: receive open cards from clients, sort and display them
Diffstat (limited to 'src/game.c')
| -rw-r--r-- | src/game.c | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -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); } |
