// Segnature delle attivita' atomiche
// LA SPECIFICA LASCIATA PER ESERCIZIO AGLI STUDENTI
// =================================================
//
// Verifica(tab:Insieme<Casella>):(ok:bool)
// LeggiGiocatori():(is:Insieme<Giocatore>)
// CreaPartita(g:Insieme<Giocatore>,tab:Insieme<Casella>):(p:Partita)
// Gioca(p:Partita)
// AttendiComando()

InizioSpecificaAttivita Principale(tabellone: Insieme<Casella>)
	
	Variabili processo:
		giocatori: Insieme<Giocatore>
		partita: Partita
		valido: bool

InizioProcesso
	Verifica(tabellone):(valido);

	if (!valido) return;
	else {
		LeggiGiocatori():(giocatori);
		CreaPartita(giocatori,tabellone):(partita);             
	}

    	fork {
			thread t1 : { Gioca(partita); }
			thread t2 : { AttendiComando(); }   
	} join t1,t2;
  
FineSpecifica


