diff options
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -14,6 +14,8 @@ int main(int argc, char **argv) char *addr; bool servermode = false; + int opponents = 1; + if (argc < 2) { printf("usage: '%s address port' for client mode, or '%s port' for server mode\n", argv[0], argv[0]); @@ -24,7 +26,6 @@ int main(int argc, char **argv) int ssock; int* csocks; player_list players; - int opponents = 1; const char* nickname = "deki"; const hand_t testhand = { { 12, 23, 35, 42, 55, 57, 70, 81, 103, 0 } }; servermode = true; @@ -55,6 +56,16 @@ int main(int argc, char **argv) for(int i=0; i<opponents; i++) server_deal_cards(csocks[i], &testhand); + // receive selected stacks from players + for(int i=0; i<opponents; i++) + { + uint8_t* stack = net_recv(csocks[i], msg_type_selected_stack_c); + printf("received selected stack from player %d: %d\n", i, *stack); + // broadcast it to players + server_send_selected_stack(csocks, opponents, *stack); + free(stack); + } + // cleanup for(int i=0; i<players.count; i++) free(players.names[i]); @@ -88,6 +99,17 @@ int main(int argc, char **argv) printf("%d, ", testhand->cards[i]); printf("\n"); + // send selected stack to server + client_send_selected_stack(sock, 3); + + // receive stack broadcast from server + for(int i=0; i<opponents; i++) + { + uint8_t* stack = net_recv(sock, msg_type_selected_stack_s); + printf("received stack selection for current player: %d\n", *stack); + free(stack); + } + // cleanup cleanup_playerlist(players); free(testhand); |
