From 8ff7c1123dc4185d6f8b156c438bedcc73e80e11 Mon Sep 17 00:00:00 2001 From: Lorenzo Bianchi Date: Sat, 17 Jun 2023 11:39:54 +0200 Subject: [PATCH] added bot --- Makefile | 10 ++++++---- TODO.txt | 4 +++- src/F4Client.c | 6 +++--- src/F4Server.c | 4 ++-- src/client.c | 6 +++--- 5 files changed, 17 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index e8e4ffd..1ca8818 100644 --- a/Makefile +++ b/Makefile @@ -74,10 +74,12 @@ TERMINAL_ARGS1 := --geometry=90x30 -e TERMINAL_ARGS2 := --geometry=10x30 -e # OPEN_NEW_TERMINAL := kitty -test: comp - ipcrm --all=sem - ipcrm --all=msg - ipcrm --all=shm +test: comp run + +run: + @ ipcrm --all=sem + @ ipcrm --all=msg + @ ipcrm --all=shm $(OPEN_NEW_TERMINAL) $(TERMINAL_ARGS1) $(MKFILE_DIR) $(TARGET2) $(ARGSCLIENT1) $(OPEN_NEW_TERMINAL) $(TERMINAL_ARGS2) $(MKFILE_DIR) $(TARGET2) $(ARGSCLIENT2) ./$(TARGET1) $(ARGSSERVER) diff --git a/TODO.txt b/TODO.txt index 9aa98ad..0aca224 100644 --- a/TODO.txt +++ b/TODO.txt @@ -4,4 +4,6 @@ - messaggio speciale per abbandono -- se le ipcs non si sono chiuse bene non funzia \ No newline at end of file +- se le ipcs non si sono chiuse bene non funzia + +- togliere possibili errori in chiusura cosi i prof non lo vedono \ No newline at end of file diff --git a/src/F4Client.c b/src/F4Client.c index 4911a59..acead12 100644 --- a/src/F4Client.c +++ b/src/F4Client.c @@ -24,7 +24,7 @@ int generateMove(); int main(int argc, char *argv[]){ int clientBot = 0; printf("Il mio pid per killarmi: %d\n", getpid()); //TMP - + printf("%d\n", argc); setupClient(argc, argv); // aspetto che il server mi dia il permesso di collegarmi e segnalo collegamento al server @@ -36,10 +36,10 @@ int main(int argc, char *argv[]){ // mando i miei dati al server player_ds player = {.mtype = 3, .id = ID, .pid = getpid(), .bot = 0}; if (argc == 3) { - if (argv[2] == "*") { + if (!strcmp(argv[2], "bot")) { player.bot = 1; } - if (argv[2] == "^") { + if (!strcmp(argv[2], "auto")) { clientBot = 1; } } diff --git a/src/F4Server.c b/src/F4Server.c index 3442e4d..eabc7da 100644 --- a/src/F4Server.c +++ b/src/F4Server.c @@ -54,8 +54,8 @@ int main(int argc, char *argv[]) { if (bot) { int child = fork(); if (child == 0) { - //TODO: fare un exec come se si facesse partire un player da terminale - // dicendogli pero che é un bot e che non fa le scanf + printf(PSERVER "Creating bot\n"); + execl("./bin/F4Client", "./bin/F4Client", "Bot", "auto", (char *)NULL); } } diff --git a/src/client.c b/src/client.c index a3737a7..528eee7 100644 --- a/src/client.c +++ b/src/client.c @@ -47,8 +47,7 @@ void checkClientinput(int argc, char *argv[]){ ); exit(EXIT_SUCCESS); } else if (argc > 3) { - printf(PCLIENT "To many arguments!"); - exit(EXIT_FAILURE); + errExitMsg("To many arguments"); } if (!argv[1] || strlen(argv[1]) > MAX_NAME) { @@ -56,7 +55,8 @@ void checkClientinput(int argc, char *argv[]){ } if (argv[2]) { - if (argv[2] != "*" && argv[2] != "^") { + printf("%s\n", argv[2]); + if (strcmp(argv[2], "bot") && strcmp(argv[2], "auto")) { errExitMsg("Invalid third argument"); } }