From afe777a3cfa06fbdf391a338ba8506cf9cbcbb47 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Mon, 24 Jan 2011 22:05:57 +0100 Subject: server: send open cards to clients client: receive open cards from clients, sort and display them --- src/game.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/game.c') 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; iplayers.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; iplayers.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); } -- cgit v1.2.3