From d6cdd0f26d2bb5730673b30b19cbd5572d9ab8d9 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Wed, 26 Jan 2011 15:28:05 +0100 Subject: add parameter for number of players --- src/game.c | 3 +-- src/game.h | 2 +- src/main.c | 12 ++++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/game.c b/src/game.c index 5708d31..2f7231a 100644 --- a/src/game.c +++ b/src/game.c @@ -90,7 +90,7 @@ static void main_loop_server(socket_list_t* client_socks) } } -void start_game(const bool servermode, const char* addr, const char* port) +void start_game(const bool servermode, const char* addr, const char* port, const uint8_t num_players) { assert(addr != NULL && port != NULL); @@ -106,7 +106,6 @@ void start_game(const bool servermode, const char* addr, const char* port) { int server_sock; socket_list_t client_socks; - uint8_t num_players = 3; srand(time(0)); // Initialize RNG //srand(1337); // Constant debug RNG seed diff --git a/src/game.h b/src/game.h index ae2a598..681d3df 100644 --- a/src/game.h +++ b/src/game.h @@ -7,6 +7,6 @@ #define MIN_CARD 1 #define MAX_CARD 104 -void start_game(const bool servermode, const char* addr, const char* port); +void start_game(const bool servermode, const char* addr, const char* port, const uint8_t num_players); #endif // OXEN_GAME_H diff --git a/src/main.c b/src/main.c index c35bcb5..b75d83e 100644 --- a/src/main.c +++ b/src/main.c @@ -8,24 +8,25 @@ static void print_usage(const char* name) { - fprintf(stderr, "Usage: %s [-n nickname] [-s server] -p port\n", name); + fprintf(stderr, "Usage: %s [-u nickname] [-s server] [-n num_players] -p port\n", name); exit(EXIT_FAILURE); } int main(int argc, char *argv[]) { int opt; + uint8_t num_players = 2; char* port = NULL; char* addr = NULL; bool servermode = true; data_store_t *ds = data_store(); - const char* accepted = "n:s:p:h"; + const char* accepted = "u:s:p:n:h"; while((opt = getopt(argc, argv, accepted)) != -1) { switch(opt) { - case 'n': // nickname + case 'u': // nickname strncpy(ds->nickname, optarg, MAX_PLAYER_NAME_LENGTH); ds->nickname[MAX_PLAYER_NAME_LENGTH] = '\0'; break; @@ -36,6 +37,9 @@ int main(int argc, char *argv[]) addr = optarg; servermode = false; break; + case 'n': // number of users + num_players = atoi(optarg); + break; case 'h': // help default: print_usage(argv[0]); @@ -56,7 +60,7 @@ int main(int argc, char *argv[]) ds->nickname[MAX_PLAYER_NAME_LENGTH] = '\0'; } - start_game(servermode, addr, port); + start_game(servermode, addr, port, num_players); return EXIT_SUCCESS; } -- cgit v1.2.3