PgAr2025_Esame_GabrieleDome.../Spirit_Arnaldo_Selvaggio/src/Partita.java
2025-06-09 15:39:10 +02:00

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);
}
}