import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import it.kibo.fp.lib.Menu; import it.kibo.fp.lib.RandomDraws; public class Partita { private static String titolo = "seleziona la scelta"; private static String [] selezioni = {"Lancia il dado", "usa la tessera tifo o inveimento", "scommetti su un cavallo", "giocati la casa", "visualizza la mappa", "visualizza i soldi di tutti"}; private Deque giocatori = new ArrayDeque<>(); private ArrayList cavalli = new ArrayList<>(); private Mappa mappa; private Pila pila; private Menu menu = new Menu (titolo, selezioni, true, true, true); public Partita(Deque giocatori, ArrayList cavalli, Mappa mappa, Pila pila){ this.giocatori = giocatori; this.cavalli = cavalli; this.mappa = mappa; this.pila = pila; } public void sceltaCavaliere(){ int i = RandomDraws.drawInteger(0, giocatori.size()-1); for(int j = 0; j < i; j++){ giocatori.addLast(giocatori.getFirst()); giocatori.removeFirst(); } giocatori.getFirst().setCavaliere(true); } public void inizioTappa(){ int dado = 0; do{ new Output().annuncioTurno(giocatori.getFirst()); int s = menu.choose(); switch (s){ case 1: giocatori.getFirst().lanciaDado(cavalli, mappa); giocatori.addLast(giocatori.getFirst()); giocatori.removeFirst(); dado ++; for(int i = 0; i < cavalli.size(); i++){ if(cavalli.get(i).getPosizione() >= 17){ dado = 5; } } break; case 2: int i = giocatori.getFirst().posizionaTesseraTifoInveimento(mappa); mappa.getCasella(i).setGiocatoreTessera(giocatori.getFirst()); giocatori.addLast(giocatori.getFirst()); giocatori.removeFirst(); break; case 3: break; case 4: break; case 5: new Output().mostraMappa(mappa); break; case 6: new Output().visualizzaSoldi(giocatori); break; } }while(dado < 5); } }