Visualizza messaggio singolo
Vecchio 17-07-2004, 14.15.06   #197
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Ecco come ho pensato di gestire il gioco:
Codice:
1 - Dopo aver posizionato le navi entrambi i processi si mettono in attesa
    (semaforo occupato)
2 - si sorteggia chi inizia
3 - il processo non sorteggiato (P2) resta in attesa che in memoria
    condivisa ci sia la coordinata fornita dall'altro processo
    (P1) (come faccio a rilasciare il semaforo ed essere sicuro che
    lo occuperà proprio P1?)
4 - si comunica a P1 di iniziare (semaforo libero per P1)
5 - P1 chiede al proprio utente di inserire una coordinata
6 - P1 accetta la mossa controllando che sia valida e la scrive
    in memoria condivisa (P1 rilascia il semaforo in favore di P2)
7 - si comunica a P2 che il dato che cerca è pronto (semaforo libero per P2)
8 - P2 cerca una corrispondenza tra le coordinate inserite dal suo utente
    all'inizio, se tale corrispondenza esiste o no
9 - nel caso esiste, P2, decrementa il numero di navi non colpite e controlla
    quante ne restano
10 - se le navi rimanenti sono + di 0 comuinca in memoria condivisa che una nave
     è stata colpita rilasciando poi il semaforo in favore di P1
11 - se le navi rimanenti sono 0 comunica in memoria condivisa che ha perso
     rilasciando poi il semaforo in favore di P1
12 - P1 occupa il semaforo, elabora il risultato fornito da P2 e fa apparire un
     simbolo corrispondente all'esito della mossa sulla griglia del proprio
     utente oppure comunica la vittoria, rilascia il semaforo e attende
     la mossa di P2
13 - si ripetono i passi da 4 a 12 invertendo P1 con P2 e così via finché
     qualcuno ha vinto.
com'è la traccia?

Ultima modifica di Alhazred : 17-07-2004 alle ore 14.22.56
Alhazred non è collegato   Rispondi citando