77 lines
2.5 KiB
Java
77 lines
2.5 KiB
Java
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 <Giocatore> giocatori = new ArrayDeque<>();
|
|
private ArrayList <Cavallo> cavalli = new ArrayList<>();
|
|
private Mappa mappa;
|
|
private Pila pila;
|
|
private Menu menu = new Menu (titolo, selezioni, true, true, true);
|
|
|
|
|
|
public Partita(Deque <Giocatore> giocatori, ArrayList<Cavallo> 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);
|
|
}
|
|
}
|