Ciao ragazzi, ho da risolvereun piccolo progetto..Da scrivere in JAVA
VVoVe: ..Ogni aiuto è ben accolto!
Il “gioco del colore” per m giocatori formulato nel modo seguente:
i giocatori dispongono di un mazzo di n=x·y carte, suddivise in y colori differenti con x
carte per ogni colore. Si suppone n>x·m+m.
Il mazzo è posto al centro di un tavolo rotondo, intorno al quale sono seduti i giocatori.
Inizialmente, ogni giocatore preleva x carte dal mazzo. A questo punto inizia il gioco, nel
quale ogni giocatore esegue una successione di giocate. Ogni giocata consiste nel
prelevare la carta in testa al mazzo e nello scartare una carta scelta casualmente,
depositandola in testa al mazzo. I giocatori eseguono le giocate senza un ordine fisso,
salvo che:
· il generico giocatore, dopo ogni giocata, attende che almeno un altro giocatore
abbia eseguito la sua giocata.
Il gioco termina, con la segnalazione del vincitore, quando un giocatore ha in mano x carte
dello stesso colore.
Definire in pseudo-codice il programma eseguito dal generico giocatore per un corretto
svolgimento del gioco, utilizzando variabili condivise e semafori.
Traccia:
Giocatorei :
inizializza();
while(TRUE) {
???
carta = prendi();
???
verifica_colore();
???
scarta();
???
}
Si può ipotizzare di disporre delle seguenti funzioni:
- inizializza(): inizializza il giocatore con x carte;
- prendi(): prende una carta in testa al mazzo e la restituisce al giocatore;
- verifica_colore(): restituisce true se, con l’ultima carta prelevata, il giocatore
può vincere (ha in mano tutte carte dello stesso colore più quella da scartare), false
altrimenti;
- scarta(): sceglie una carta tra quelle del giocatore e la pone in testa al mazzo;
- get_pid(): restituisce l’identificatore del giocatore (intero > 0).
Come costruire il tutto??AIUTO![]()