added bot

This commit is contained in:
Lorenzo Bianchi 2023-06-17 11:39:54 +02:00
parent 12858db2fb
commit 8ff7c1123d
5 changed files with 17 additions and 13 deletions

View File

@ -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)

View File

@ -4,4 +4,6 @@
- messaggio speciale per abbandono
- se le ipcs non si sono chiuse bene non funzia
- se le ipcs non si sono chiuse bene non funzia
- togliere possibili errori in chiusura cosi i prof non lo vedono

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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");
}
}