Numero massimo di partite Si potrebbe definire una variabile di configurazione che indichi
il numero massimo di partite che ogni thread/giocatore può fare.
Al momento della creazione del thread (cioè all'inizio della sub
giocatore()), andrebbe generato un numero casuale compreso tra 1 ed
il numero massimo di partite. Il loop dovrebbe poi essere modificato
in modo da giocare solo il numero di partite definito dal numero
casuale. In questo modo si garantirebbe un termine all'esecuzione,
altrimenti eterna, del programma.
Coda per giocatori in attesa
Al momento, se le palline non sono disponibili, un giocatore attende
un tempo predeterminato e poi ritorna a chiederle. Questo sistema
non garantisce che il primo giocatore a cui sono negate sia il
primo a cui saranno poi concesse. Si potrebbe dunque prevedere una
coda, in cui vengono inseriti i giocatori a cui vengono rifiutate
le palline, nell'ordine in cui essi si sono presentati a chiederle.
Quando un giocatore viene/ritorna a chiedere le palline, viene controllata
la sua posizione sulla coda e, in caso ci siano altri davanti a lui,
gli vengono negate, oppure gli viene assegnato un numero di palline tale
che quelli in coda davanti a lui non si trovino senza al loro ritorno.
Possibilità, per un thread/giocatore, di rifiutare le palline
Se il club, per qualche motivo, deve concedere un numero di palline
inferiore a quello richiesto dal giocatore, si può prevedere che
quest'ultimo le rifiuti, in quanto non sufficienti per permettergli di
completare una partita. In questo caso sarebbe probabilmente necessari
definire un numero di palline minimo richiesto da ciascun giocatore. |