This commit is contained in:
gababababibbo 2025-06-09 15:39:10 +02:00
parent 3fb636ab42
commit 10c6dcf1ca
14 changed files with 64 additions and 20 deletions

View file

@ -10,7 +10,7 @@ public class Cavallo {
private int posizione;
private boolean matto;
public Cavallo(String nome, String colore, boolean m){
public Cavallo(String nome, String colore, boolean m, Mappa mappa){
this.nome = nome;
this.colore = colore;
if (m == true){
@ -61,8 +61,8 @@ public class Cavallo {
tessere.add(new Tessera(g));
}
public void movimento(int i){
public void spostaCasella(int i){
this.posizione += i;
}
}

View file

@ -69,11 +69,15 @@ public class Giocatore {
return i;
}
public void lanciaDado(ArrayList <Cavallo> cavalli){
public void lanciaDado(ArrayList <Cavallo> cavalli, Mappa mappa){
int i = RandomDraws.drawInteger(0, 6);
int m = RandomDraws.drawInteger(1, 3);
cavalli.get(i).movimento(m);
mappa.movimentoCavalli(cavalli.get(i), m);
tessereSbleuri += 1;
}
public void scommettiCavallo(Cavallo cavallo){
}
}

View file

@ -4,14 +4,18 @@ import java.util.Deque;
public class Main {
public static void main(String[] args) {
Cavallo cavallo1 = new Cavallo("Nawt","Rosso", false);
Cavallo cavallo2 = new Cavallo("Blanco","Blu", false);
Cavallo cavallo3 = new Cavallo("Pound","Giallo", false);
Cavallo cavallo4 = new Cavallo("Bang","Verde", false);
Cavallo cavallo5 = new Cavallo("Bupkus","Viola", false);
Cavallo cavallo6 = new Cavallo("Bugs","Bianco", true);
Cavallo cavallo7 = new Cavallo("Daffy","Nero", true);
Mappa mappa = new Mappa();
Cavallo cavallo1 = new Cavallo("Nawt","Rosso", false, mappa);
Cavallo cavallo2 = new Cavallo("Blanco","Blu", false, mappa);
Cavallo cavallo3 = new Cavallo("Pound","Giallo", false, mappa);
Cavallo cavallo4 = new Cavallo("Bang","Verde", false, mappa);
Cavallo cavallo5 = new Cavallo("Bupkus","Viola", false, mappa);
Cavallo cavallo6 = new Cavallo("Bugs","Bianco", true, mappa);
Cavallo cavallo7 = new Cavallo("Daffy","Nero", true, mappa);
ArrayList <Cavallo> cavalli = new ArrayList<>();
for(int i=0; i < cavalli.size(); i++){
mappa.getCasella(cavalli.get(i).getPosizione()).aggiungiCavallo(cavalli.get(i));
}
cavalli.add(cavallo1);
cavalli.add(cavallo2);
cavalli.add(cavallo3);
@ -20,7 +24,7 @@ public class Main {
cavalli.add(cavallo6);
cavalli.add(cavallo7);
Deque <Giocatore> giocatori = new ArrayDeque<>();
Mappa mappa = new Mappa();
Pila pila = new Pila();
Output output = new Output();

View file

@ -9,6 +9,10 @@ public class Mappa {
}
}
public Posizione getPosizione(int i){
return caselle.get(i);
}
public Posizione getCasella(int i){
return caselle.get(i);
}
@ -33,6 +37,19 @@ public class Mappa {
return stringa;
}
public void movimentoCavalli(Cavallo cavallo, int i){
if(cavallo.isMatto()){
i = i * (-1);
}
ArrayList <Cavallo> cavalliArray = new ArrayList <>(caselle.get(cavallo.getPosizione()).getCavalli());
for(int j = 0; j < cavalliArray.size(); j++){
if (cavalliArray.get(j).equals(cavallo)){
for(int k = j; k < cavalliArray.size(); k++){
new Output().spostamentoCavallo(cavalliArray.get(k), i);
cavalliArray.get(k).spostaCasella(i);
}
}
}
}
}

View file

@ -10,10 +10,6 @@ public class Output {
System.out.println("scegliere un'altra casella perché una delle adiacenti(o la casella stessa) è già occupata ");
}
public void movimentoCavallo(String colore, int i){
System.out.println("il cavallo "+ colore + " si è mosso di "+i+" caselle!");
}
public void annuncioTurno(Giocatore g){
System.out.println("è il turno di "+g.getNome());
}
@ -28,4 +24,8 @@ public class Output {
giocatori.removeFirst();
}
}
public void spostamentoCavallo(Cavallo cavallo, int i){
System.out.println("il cavallo "+cavallo.getNome()+ " si è spostato dalla casella "+cavallo.getPosizione()+ " alla casella "+cavallo.getPosizione()+i);
}
}

View file

@ -32,14 +32,21 @@ public class Partita {
}
public void inizioTappa(){
int dado = 0;
do{
new Output().annuncioTurno(giocatori.getFirst());
int s = menu.choose();
switch (s){
case 1:
giocatori.getFirst().lanciaDado(cavalli);
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:
@ -65,6 +72,6 @@ public class Partita {
}
}while(1 == 1);
}while(dado < 5);
}
}

View file

@ -49,6 +49,18 @@ public class Posizione {
stringa += cavalliArray.get(i).getNome() + " ---> ";
}
return stringa;
}
public void aggiungiCavallo(Cavallo cavallo){
cavalli.addLast(cavallo);
}
public Deque getCavalli(){
return cavalli;
}
}