#include "campo.h"
main(int argc, char **argv)
{
int semaforo;
int mutex;
int coda;
int numgiocatori;
char arg_gioc[3];
int shm_id;
matrice* campo;
if (argc > 1)
{
if (atoi(argv[1]) == 0)
{
delsem(creasem(CHIAVE,1));
delsem(creasem(KEYMTX,1));
delshm(shm_id = creashm(KEYSHM, sizeof(matrice)));
delcoda(creacoda(KEYCODA));
}
else if (atoi(argv[1]) == 1)
{
if (((semaforo=creasem(CHIAVE,1)) != -1)&&
((mutex=creasem(KEYMTX,1)) != -1)&&
((coda=creacoda(KEYCODA))!= -1))
{
initsem(semaforo,2);
initsem(mutex,1);
printf("\n Quanti giocatori? ");
scanf("%s",arg_gioc);
if ((shm_id = creashm(KEYSHM, sizeof(matrice))) != -1)
if ((campo = (matrice *)attachshm(shm_id)) != (matrice *) -1)
{
inizializzacampo(campo,atoi(arg_gioc));
stampacampo(campo,atoi(arg_gioc));
deattachshm(campo);
}
}
if (execl("2ngiocatori","2ngiocatori",arg_gioc,NULL) == -1) printf("\n Errore lancio programma 2ngiocatori\n");
}
else printf("\n\nParametro errato, deve essere 0 o 1\n");
}
else printf("\n\nManca il parametro (0 oppure 1)\n");
}