Login: password:
Forgot your password?
Carte > Partita.java > in depth
Partita.java
package carte;

import java.util.*;

public class Partita {
    Collection giocatori=new HashSet();
    int ngiocatori;
    Mazzo mazzo;
    Tavolo tavolo=new Tavolo();
    Partita(int nGiocatori){
        assert (36%nGiocatori==0):"numero di giocatori non valido";
        for (int i=0; i<nGiocatori; i++) giocatori.add(new Giocatore(i,tavolo));
        mazzo=new Mazzo(10);
        mazzo.mescola();
        aggiungiCarteInTavola();
        while (! mazzo.isEmpty()) {
            distribuisciCarte(3);
            for (int i=0;i<3;i++) faiUnaMano();
        }
        proclamaVincitore();
    }
    private void aggiungiCarteInTavola(){
        for (int k=0;k<4;k++) tavolo.aggiungi((Carta)mazzo.prossimaCarta());
    }
    private void distribuisciCarte(int n){
        assert (mazzo.size()>=n*giocatori.size()): "non ci sono abbastanza carte nel mazzo";
        Iterator iter=giocatori.iterator();
        while (iter.hasNext()) {
            Giocatore g=(Giocatore)iter.next();
            for (int i=0;i<n;i++) g.aggiungiCarta(mazzo.prossimaCarta());
        }
    }
    private void faiUnaMano(){
        Iterator iter=giocatori.iterator();
        while (iter.hasNext()) {
            Giocatore g=(Giocatore)iter.next();
            g.gioca();
        }
    }
    private void proclamaVincitore(){
        int maxPunti=0;
        String vincitore=null;
        Iterator iter=giocatori.iterator();
        while (iter.hasNext()) {
            Giocatore g=(Giocatore)iter.next();
            int punti=g.contaPunti();
            System.out.println(g.nome+" : "+punti+"n");
            if (punti>maxPunti) {
                maxPunti=punti;
                vincitore=g.nome;
            }
        }
        System.out.println("IL VINCITORE E' : "+vincitore);
    }

    public static void main(String s[]){
        Partita p=new Partita(2);
    }


}

Carte > in depth


powered by segue
segue_logo