diff --git a/Spirit_Arnaldo_Selvaggio/bin/Carta.class b/Spirit_Arnaldo_Selvaggio/bin/Carta.class index 87b7773..ca91e7b 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Carta.class and b/Spirit_Arnaldo_Selvaggio/bin/Carta.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Cavallo.class b/Spirit_Arnaldo_Selvaggio/bin/Cavallo.class index 42cd111..b456c2e 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 908b483..caf86d8 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/Input.class b/Spirit_Arnaldo_Selvaggio/bin/Input.class index d91e761..2ffd9ec 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Input.class and b/Spirit_Arnaldo_Selvaggio/bin/Input.class differ diff --git a/Spirit_Arnaldo_Selvaggio/bin/Main.class b/Spirit_Arnaldo_Selvaggio/bin/Main.class index 0d1774f..902bb8c 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/Partita.class b/Spirit_Arnaldo_Selvaggio/bin/Partita.class index 0d7ef46..cfc1eda 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/Pila.class b/Spirit_Arnaldo_Selvaggio/bin/Pila.class index 0bc5757..b2f3b21 100644 Binary files a/Spirit_Arnaldo_Selvaggio/bin/Pila.class and b/Spirit_Arnaldo_Selvaggio/bin/Pila.class differ diff --git a/Spirit_Arnaldo_Selvaggio/src/Carta.java b/Spirit_Arnaldo_Selvaggio/src/Carta.java index fa6f096..c5366de 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Carta.java +++ b/Spirit_Arnaldo_Selvaggio/src/Carta.java @@ -1,5 +1,12 @@ public class Carta { private Cavallo cavallo; + private Giocatore giocatore; + + public Carta(){ + this.cavallo = new Cavallo(); + } + + public Carta(Cavallo cavallo){ this.cavallo = cavallo; diff --git a/Spirit_Arnaldo_Selvaggio/src/Cavallo.java b/Spirit_Arnaldo_Selvaggio/src/Cavallo.java index 6eca169..9b21aec 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Cavallo.java +++ b/Spirit_Arnaldo_Selvaggio/src/Cavallo.java @@ -10,6 +10,11 @@ public class Cavallo { private int posizione; private boolean matto; + public Cavallo(){ + nome = null; + colore = null; + } + public Cavallo(String nome, String colore, boolean m, Mappa mappa){ this.nome = nome; this.colore = colore; diff --git a/Spirit_Arnaldo_Selvaggio/src/Giocatore.java b/Spirit_Arnaldo_Selvaggio/src/Giocatore.java index 2632dc7..e7fa1ad 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Giocatore.java +++ b/Spirit_Arnaldo_Selvaggio/src/Giocatore.java @@ -82,4 +82,18 @@ public class Giocatore { cavallo.aggiungiTessera(this); } + public Carta getCarta(int i){ + return carte.get(i); + } + + public void giocaCasa(int i, Pila p){ + boolean s = new Input().vincitorePerdente(); + if (s == true){ + p.aggiungiVincitori(carte.get(i)); + }else{ + p.aggiungiPerdenti(carte.get(i)); + } + + } + } diff --git a/Spirit_Arnaldo_Selvaggio/src/Input.java b/Spirit_Arnaldo_Selvaggio/src/Input.java index da004ff..d6442a3 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Input.java +++ b/Spirit_Arnaldo_Selvaggio/src/Input.java @@ -28,4 +28,9 @@ public class Input { return s; } + public boolean vincitorePerdente(){ + boolean s = InputData.readYesOrNo("vuoi mettere la carta nella pila dei vincenti o dei perdenti (Y/vincenti, N/perdenti)"); + return s; + } + } diff --git a/Spirit_Arnaldo_Selvaggio/src/Main.java b/Spirit_Arnaldo_Selvaggio/src/Main.java index 2a4e42d..98956bc 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Main.java +++ b/Spirit_Arnaldo_Selvaggio/src/Main.java @@ -36,6 +36,8 @@ public class Main { Output output = new Output(); Input input = new Input(); + output.mostraMappa(mappa); + int n = input.numeroGiocatori(); for(int i = 0; i < n; i++){ String s = input.sceltaNome(); diff --git a/Spirit_Arnaldo_Selvaggio/src/Partita.java b/Spirit_Arnaldo_Selvaggio/src/Partita.java index cf0c2e3..f62844d 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Partita.java +++ b/Spirit_Arnaldo_Selvaggio/src/Partita.java @@ -45,16 +45,12 @@ public class Partita { 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()); + int x = giocatori.getFirst().posizionaTesseraTifoInveimento(mappa); + mappa.getCasella(x).setGiocatoreTessera(giocatori.getFirst()); giocatori.addLast(giocatori.getFirst()); giocatori.removeFirst(); break; @@ -69,28 +65,34 @@ public class Partita { new Output().erroreTesserePiene(); } }while(checkTesserePiene == true); - switch(cavalloScelto){ - case 1: - giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1)); - break; - case 2: - giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1)); - break; - case 3: - giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1)); - break; - case 4: - giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1)); - break; - case 5: - giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1)); - break; - } - - + giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1)); break; case 4: + int cartaCavallo = 0; + boolean checkCartaUsata = false; + do{ + cartaCavallo = menu2.choose(); + for(int i = 0; i < pila.vincitoriSize(); i ++){ + if(pila.getCartaVincitore(i).equals(giocatori.getFirst().getCarta(cartaCavallo))){ + checkCartaUsata = true; + System.out.println("seleziona una carta che non hai mai usato "); + break; + } + } + if(checkCartaUsata == false){ + for(int i = 0; i < pila.perdentiSize(); i++){ + if(pila.getCartaPerdente(i).equals(giocatori.getFirst().getCarta(cartaCavallo))){ + checkCartaUsata = true; + System.out.println("seleziona una carta che non hai mai usato "); + break; + } + } + + } + + giocatori.getFirst().giocaCasa(cartaCavallo, pila); + }while(checkCartaUsata == true); break; case 5: @@ -101,8 +103,25 @@ public class Partita { new Output().visualizzaSoldi(giocatori); break; + + } + for(int i = 0; i < cavalli.size(); i++){ + if(cavalli.get(i).getPosizione() >= 17){ + finePartita(); + } + } }while(dado < 5); } + + public void fineTappa(){ + + } + + public void finePartita(){ + + } + + } diff --git a/Spirit_Arnaldo_Selvaggio/src/Pila.java b/Spirit_Arnaldo_Selvaggio/src/Pila.java index b06b149..c17eb5d 100644 --- a/Spirit_Arnaldo_Selvaggio/src/Pila.java +++ b/Spirit_Arnaldo_Selvaggio/src/Pila.java @@ -1,7 +1,33 @@ import java.util.ArrayDeque; +import java.util.ArrayList; import java.util.Deque; public class Pila { - private Deque vincitori = new ArrayDeque<>(); - private Deque perdenti = new ArrayDeque<>(); + private Deque vincitori = new ArrayDeque<>(); + private Deque perdenti = new ArrayDeque<>(); + + public void aggiungiVincitori(Carta carta){ + vincitori.addLast(carta); + } + public void aggiungiPerdenti(Carta carta){ + perdenti.addLast(carta); + } + + public int vincitoriSize(){ + return vincitori.size(); + } + + public int perdentiSize(){ + return perdenti.size(); + } + + public Carta getCartaVincitore(int i){ + ArrayList vincitoriArray = new ArrayList<>(vincitori); + return vincitoriArray.get(i); + } + + public Carta getCartaPerdente(int i){ + ArrayList perdentiArray = new ArrayList<>(perdenti); + return perdentiArray.get(i); + } }