diff --git a/Spirit_Arnaldo_Selvaggio/bin/Cavallo.class b/Spirit_Arnaldo_Selvaggio/bin/Cavallo.class index fc1ef0f..7cf901b 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Cavallo.class and b/Spirit_Arnaldo_Selvaggio/bin/Cavallo.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Giocatore.class b/Spirit_Arnaldo_Selvaggio/bin/Giocatore.class index 5eb56d0..9bdcf42 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Giocatore.class and b/Spirit_Arnaldo_Selvaggio/bin/Giocatore.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Main.class b/Spirit_Arnaldo_Selvaggio/bin/Main.class index e5cc6a2..4d77c22 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Main.class and b/Spirit_Arnaldo_Selvaggio/bin/Main.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Mappa.class b/Spirit_Arnaldo_Selvaggio/bin/Mappa.class index 263a81a..cb59d22 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Mappa.class and b/Spirit_Arnaldo_Selvaggio/bin/Mappa.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Output.class b/Spirit_Arnaldo_Selvaggio/bin/Output.class index 4894ff4..9b12ba9 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Output.class and b/Spirit_Arnaldo_Selvaggio/bin/Output.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Partita.class b/Spirit_Arnaldo_Selvaggio/bin/Partita.class index ad481a3..9dc37c8 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Partita.class and b/Spirit_Arnaldo_Selvaggio/bin/Partita.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Posizione.class b/Spirit_Arnaldo_Selvaggio/bin/Posizione.class index 2522304..8667dfe 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Posizione.class and b/Spirit_Arnaldo_Selvaggio/bin/Posizione.class differ diff --git a/Spirit_Arnaldo_Selvaggio/src/Cavallo.java b/Spirit_Arnaldo_Selvaggio/src/Cavallo.java index c562a40..62bd7fe 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Cavallo.java +++ b/Spirit_Arnaldo_Selvaggio/src/Cavallo.java @@ -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; } } diff --git a/Spirit_Arnaldo_Selvaggio/src/Giocatore.java b/Spirit_Arnaldo_Selvaggio/src/Giocatore.java index 4201d53..baa42cd 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Giocatore.java +++ b/Spirit_Arnaldo_Selvaggio/src/Giocatore.java @@ -69,11 +69,15 @@ public class Giocatore { return i; } - public void lanciaDado(ArrayList cavalli){ + public void lanciaDado(ArrayList 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){ + + } + } diff --git a/Spirit_Arnaldo_Selvaggio/src/Main.java b/Spirit_Arnaldo_Selvaggio/src/Main.java index 9113361..93db47b 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Main.java +++ b/Spirit_Arnaldo_Selvaggio/src/Main.java @@ -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 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 giocatori = new ArrayDeque<>(); - Mappa mappa = new Mappa(); + Pila pila = new Pila(); Output output = new Output(); diff --git a/Spirit_Arnaldo_Selvaggio/src/Mappa.java b/Spirit_Arnaldo_Selvaggio/src/Mappa.java index 92dabbf..966d918 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Mappa.java +++ b/Spirit_Arnaldo_Selvaggio/src/Mappa.java @@ -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 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); + } + } + } + } } diff --git a/Spirit_Arnaldo_Selvaggio/src/Output.java b/Spirit_Arnaldo_Selvaggio/src/Output.java index c867c9b..86f898b 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Output.java +++ b/Spirit_Arnaldo_Selvaggio/src/Output.java @@ -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); + } } diff --git a/Spirit_Arnaldo_Selvaggio/src/Partita.java b/Spirit_Arnaldo_Selvaggio/src/Partita.java index aa4ef31..1813a76 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Partita.java +++ b/Spirit_Arnaldo_Selvaggio/src/Partita.java @@ -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); } } diff --git a/Spirit_Arnaldo_Selvaggio/src/Posizione.java b/Spirit_Arnaldo_Selvaggio/src/Posizione.java index 5dcd809..220695d 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Posizione.java +++ b/Spirit_Arnaldo_Selvaggio/src/Posizione.java @@ -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; + } + + }