|
Carte
> Giocatore.java > in depth
|
|
Giocatore.java
|
package carte;
import java.util.*;
public class Giocatore {
String nome="Giocatore ";
Tavolo tavolo=null;
InsiemeDiCarte carteDiMano=new InsiemeDiCarte();
InsiemeDiCarte carteVinte=new InsiemeDiCarte();
Giocatore(int k, Tavolo t){
nome=nome+k;
tavolo=t;
}
public void aggiungiCarta(Carta c){
carteDiMano.add(c);
}
private Carta scegliCartaDaGiocare(){
assert (carteDiMano.size()>0):"Il giocatore non ha carte in mano";
return (Carta)carteDiMano.removeFirst();
}
public void gioca(){
Carta c=scegliCartaDaGiocare();
Carta c2=tavolo.contieneCartaEquivalente(c);
if (c2==null) {
tavolo.aggiungi(c);
System.out.println(nome+" gioca "+c);
} else {
carteVinte.add(c);
tavolo.rimuovi(c2);
carteVinte.add(c2);
System.out.println(nome+" vince "+c);
System.out.println(nome+" vince "+c2);
}
System.out.flush();
}
public int contaPunti(){
int punti=0;
Iterator i=carteVinte.iterator();
while (i.hasNext()) {
Carta c=(Carta)i.next();
punti=punti+c.valore;
}
return punti;
}
}
|
|
|