ho aggiunto qualche commento, messo il modulo 2 e finito la tappa, per favore leggete il README le ultime 2 righe

This commit is contained in:
gababababibbo 2025-06-09 18:40:32 +02:00
parent e216374961
commit efbb65d01d
19 changed files with 37 additions and 17 deletions

View file

@ -6,8 +6,6 @@ public class Carta {
this.cavallo = new Cavallo();
}
public Carta(Cavallo cavallo){
this.cavallo = cavallo;
}

View file

@ -10,6 +10,7 @@ public class Cavallo {
private int posizione;
private boolean matto;
//costruttore null
public Cavallo(){
nome = null;
colore = null;
@ -27,7 +28,7 @@ public class Cavallo {
this.posizione = RandomDraws.drawInteger(1, 3);
}
}
//getters
public String getNome() {
return nome;
}
@ -43,7 +44,7 @@ public class Cavallo {
public int getTessereSize(){
return tessere.size();
}
//setters
public void setNome(String nome) {
this.nome = nome;
}

View file

@ -55,17 +55,22 @@ public class Giocatore {
this.tesseraTifoInveimento = tesseraTifoInveimento;
}
//alla fine della tappa converte le tessereSbleuro
public void convertiTessereSbleuro(){
this.sbleuri += this.tessereSbleuri;
tessereSbleuri = 0;
}
//aggiunge un soldo
public void aggiungiSbleuro(){
this.sbleuri ++;
}
//aggiunge tanti soldi
public void aggiungiSbleuri(int i){
this.sbleuri += i;
}
//metodo che piazza la tessera tifo sulla mappa
public int posizionaTesseraTifoInveimento(Mappa mappa){
int i = new Input().sceltaTifoInvimento(mappa);
boolean s = new Input().sceltaTifoInveimento();
@ -80,6 +85,7 @@ public class Giocatore {
return i;
}
//lancia randomicamente un dado per colore(0,6) e risultato
public void lanciaDado(ArrayList <Cavallo> cavalli, Mappa mappa){
int i = RandomDraws.drawInteger(0, 6);
int m = RandomDraws.drawInteger(1, 3);
@ -94,7 +100,7 @@ public class Giocatore {
public Carta getCarta(int i){
return carte.get(i);
}
//Scommette sul cavallo che vincerà alla fine(non sono risucito a implementarlo tutto quindi si può ignorare)
public void giocaCasa(int i, Pila p){
boolean s = new Input().vincitorePerdente();
if (s == true){

View file

@ -4,6 +4,8 @@ import it.kibo.fp.lib.InputData;
public class Input {
//anche questo pezzo faceva parte del modulo 1
/*
private int nWords;
private ArrayList<String> encryptedWords;
@ -41,7 +43,7 @@ public class Input {
//per il resto sono i vari input che ho usato
public Input(){

View file

@ -17,7 +17,11 @@ public class Mappa {
return caselle.get(i);
}
public int getCaselleSize(){
return caselle.size();
}
//controlla se le celle adiancenti hanno tessere tifo
public boolean controllaAdiacenti(int i){
if (caselle.get(i-1).getTifoInveimento() != 0 || caselle.get(i+1).getTifoInveimento() != 0 || caselle.get(i).getTifoInveimento() != 0){
new Output().erroreAdiacenti();
@ -37,6 +41,7 @@ public class Mappa {
return stringa;
}
//calcola i movimenti dei cavalli e dei cavalli posizionati sopra
public void movimentoCavalli(Cavallo cavallo, int i, Mappa mappa){
if(cavallo.isMatto()){
i = i * (-1);

View file

@ -1,6 +1,7 @@
import java.util.Deque;
public class Output {
//metodi abbastanza autoesplicativi
public Output(){

View file

@ -4,7 +4,6 @@ import java.util.Deque;
import java.util.Collections;
import java.util.Comparator;
import it.kibo.fp.lib.InputData;
import it.kibo.fp.lib.Menu;
import it.kibo.fp.lib.RandomDraws;
@ -37,12 +36,14 @@ public class Partita {
giocatori.getFirst().setCavaliere(true);
}
//fa una tappa intera, quindi continua finche non si è lanciato 5 volte il dado o un cavallo è arrivato alla posizione 17
public void inizioTappa(){
int dado = 0;
do{
new Output().annuncioTurno(giocatori.getFirst());
int s = menu.choose();
switch (s){
switch (s){ù
//dado
case 1:
giocatori.getFirst().lanciaDado(cavalli, mappa);
giocatori.addLast(giocatori.getFirst());
@ -50,14 +51,14 @@ public class Partita {
dado ++;
break;
//posiziona tessera
case 2:
int x = giocatori.getFirst().posizionaTesseraTifoInveimento(mappa);
mappa.getCasella(x).setGiocatoreTessera(giocatori.getFirst());
giocatori.addLast(giocatori.getFirst());
giocatori.removeFirst();
break;
//piazza scommessa
case 3:
boolean checkTesserePiene = false;
int cavalloScelto = 0;
@ -70,7 +71,7 @@ public class Partita {
}while(checkTesserePiene == true);
giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1));
break;
//lancia la casa
case 4:
int cartaCavallo = 0;
boolean checkCartaUsata = false;
@ -97,11 +98,11 @@ public class Partita {
giocatori.getFirst().giocaCasa(cartaCavallo, pila);
}while(checkCartaUsata == true);
break;
//mostra la mappa, può essere invocate più volte in quanto non consuma un turno
case 5:
new Output().mostraMappa(mappa);
break;
//mostra i soldi
case 6:
new Output().visualizzaSoldi(giocatori);
break;
@ -113,6 +114,7 @@ public class Partita {
Algoritmo soluzione = new Algoritmo(nWords, dati.getEncryptedWords(), dati.getKeyWords());
break;*/
//modulo 2
case 8:
for(int i = 0; i < cavalli.size(); i++){
if(cavalli.get(i).isMatto()){
@ -185,12 +187,17 @@ public class Partita {
cavalli.get(i).svuotaTessere();
}
//calcolo tessereSbleuro
//calcolo tessereSbleuro e ne approfitto per ricaricare le tessere tifo
for(int i = 0; i < giocatori.size(); i++){
giocatori.getFirst().convertiTessereSbleuro();
giocatori.getFirst().setTesseraTifoInveimento(true);
giocatori.addLast(giocatori.getFirst());
giocatori.removeFirst();
}
//pulisco il terreno dalle tessere tifo
for(int i = 0; i < mappa.getCaselleSize(); i++){
mappa.getCasella(i).setTifoInveimento(0);
}
}
public void finePartita(){

View file

@ -6,6 +6,7 @@ public class Pila {
private Deque <Carta> vincitori = new ArrayDeque<>();
private Deque <Carta> perdenti = new ArrayDeque<>();
//metodi invocati dai giocatori quando scommettono su un cavallo
public void aggiungiVincitori(Carta carta){
vincitori.addLast(carta);
}
@ -21,6 +22,7 @@ public class Pila {
return perdenti.size();
}
//ritorna la carta all'indice stabilito
public Carta getCartaVincitore(int i){
ArrayList <Carta> vincitoriArray = new ArrayList<>(vincitori);
return vincitoriArray.get(i);

View file

@ -37,6 +37,7 @@ public class Posizione {
}
}
//metodo alternativo di quello che c'è sotto
/*if(cavalli.size() > 0){
for(int i = 0; i < cavalli.size(); i++){
stringa += cavalli.getFirst().getNome() + " ---> ";
@ -48,9 +49,6 @@ public class Posizione {
for(int i = 0; i < cavalliArray.size(); i ++){
stringa += cavalliArray.get(i).getNome() + " ---> ";
}
return stringa;
}