summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game.c3
-rw-r--r--src/game.h2
-rw-r--r--src/main.c12
3 files changed, 10 insertions, 7 deletions
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;
}