diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game.c | 3 | ||||
| -rw-r--r-- | src/game.h | 2 | ||||
| -rw-r--r-- | src/main.c | 12 |
3 files changed, 10 insertions, 7 deletions
@@ -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 @@ -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 @@ -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; } |
