summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/game.c b/src/game.c
index 3f1b496..5917034 100644
--- a/src/game.c
+++ b/src/game.c
@@ -184,10 +184,20 @@ static void main_loop_server(socket_list_t* client_socks)
}
}
+ int num_dealcards = num_cards_in_stack(mainstack, cards) / data->players.count;
+ if(num_dealcards > 10)
+ num_dealcards = 10;
+
// Deal hand cards to clients
for(int i = 0; i < data->players.count; i++)
{
- net_send(client_socks->sockets[i], msg_type_deal_hand, &data->hand);
+ hand_t h;
+ memset(h.cards, 0, MAX_HAND_CARDS);
+ for(int j=0; j<num_dealcards; j++)
+ h.cards[j] = draw_card(mainstack, cards);
+ hand_sort(&h);
+
+ net_send(client_socks->sockets[i], msg_type_deal_hand, &h);
}
state = STATE_SERVER_WAIT_FOR_OPEN_CARDS;
@@ -287,11 +297,6 @@ void start_game(const bool servermode, const char* addr, const char* port)
pnoc_sort(pnoc, 10);
const uint32_t score = 10;
- // Example data set for hand cards window
- const hand_t h = { {22, 0, 12, 85, 27, 69, 78, 0, 77, 0} };
- data->hand = h;
- hand_sort(&data->hand);
-
server_sock = server_start(port);
server_get_players(server_sock, &client_socks, num_players);
data->players.count = num_players;