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:
parent
e216374961
commit
efbb65d01d
19 changed files with 37 additions and 17 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -6,8 +6,6 @@ public class Carta {
|
||||||
this.cavallo = new Cavallo();
|
this.cavallo = new Cavallo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Carta(Cavallo cavallo){
|
public Carta(Cavallo cavallo){
|
||||||
this.cavallo = cavallo;
|
this.cavallo = cavallo;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ public class Cavallo {
|
||||||
private int posizione;
|
private int posizione;
|
||||||
private boolean matto;
|
private boolean matto;
|
||||||
|
|
||||||
|
//costruttore null
|
||||||
public Cavallo(){
|
public Cavallo(){
|
||||||
nome = null;
|
nome = null;
|
||||||
colore = null;
|
colore = null;
|
||||||
|
@ -27,7 +28,7 @@ public class Cavallo {
|
||||||
this.posizione = RandomDraws.drawInteger(1, 3);
|
this.posizione = RandomDraws.drawInteger(1, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//getters
|
||||||
public String getNome() {
|
public String getNome() {
|
||||||
return nome;
|
return nome;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +44,7 @@ public class Cavallo {
|
||||||
public int getTessereSize(){
|
public int getTessereSize(){
|
||||||
return tessere.size();
|
return tessere.size();
|
||||||
}
|
}
|
||||||
|
//setters
|
||||||
public void setNome(String nome) {
|
public void setNome(String nome) {
|
||||||
this.nome = nome;
|
this.nome = nome;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,17 +55,22 @@ public class Giocatore {
|
||||||
this.tesseraTifoInveimento = tesseraTifoInveimento;
|
this.tesseraTifoInveimento = tesseraTifoInveimento;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//alla fine della tappa converte le tessereSbleuro
|
||||||
public void convertiTessereSbleuro(){
|
public void convertiTessereSbleuro(){
|
||||||
this.sbleuri += this.tessereSbleuri;
|
this.sbleuri += this.tessereSbleuri;
|
||||||
|
tessereSbleuri = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//aggiunge un soldo
|
||||||
public void aggiungiSbleuro(){
|
public void aggiungiSbleuro(){
|
||||||
this.sbleuri ++;
|
this.sbleuri ++;
|
||||||
}
|
}
|
||||||
|
//aggiunge tanti soldi
|
||||||
public void aggiungiSbleuri(int i){
|
public void aggiungiSbleuri(int i){
|
||||||
this.sbleuri += i;
|
this.sbleuri += i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//metodo che piazza la tessera tifo sulla mappa
|
||||||
public int posizionaTesseraTifoInveimento(Mappa mappa){
|
public int posizionaTesseraTifoInveimento(Mappa mappa){
|
||||||
int i = new Input().sceltaTifoInvimento(mappa);
|
int i = new Input().sceltaTifoInvimento(mappa);
|
||||||
boolean s = new Input().sceltaTifoInveimento();
|
boolean s = new Input().sceltaTifoInveimento();
|
||||||
|
@ -80,6 +85,7 @@ public class Giocatore {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//lancia randomicamente un dado per colore(0,6) e risultato
|
||||||
public void lanciaDado(ArrayList <Cavallo> cavalli, Mappa mappa){
|
public void lanciaDado(ArrayList <Cavallo> cavalli, Mappa mappa){
|
||||||
int i = RandomDraws.drawInteger(0, 6);
|
int i = RandomDraws.drawInteger(0, 6);
|
||||||
int m = RandomDraws.drawInteger(1, 3);
|
int m = RandomDraws.drawInteger(1, 3);
|
||||||
|
@ -94,7 +100,7 @@ public class Giocatore {
|
||||||
public Carta getCarta(int i){
|
public Carta getCarta(int i){
|
||||||
return carte.get(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){
|
public void giocaCasa(int i, Pila p){
|
||||||
boolean s = new Input().vincitorePerdente();
|
boolean s = new Input().vincitorePerdente();
|
||||||
if (s == true){
|
if (s == true){
|
||||||
|
|
|
@ -4,6 +4,8 @@ import it.kibo.fp.lib.InputData;
|
||||||
|
|
||||||
public class Input {
|
public class Input {
|
||||||
|
|
||||||
|
|
||||||
|
//anche questo pezzo faceva parte del modulo 1
|
||||||
/*
|
/*
|
||||||
private int nWords;
|
private int nWords;
|
||||||
private ArrayList<String> encryptedWords;
|
private ArrayList<String> encryptedWords;
|
||||||
|
@ -41,7 +43,7 @@ public class Input {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//per il resto sono i vari input che ho usato
|
||||||
|
|
||||||
public Input(){
|
public Input(){
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,11 @@ public class Mappa {
|
||||||
return caselle.get(i);
|
return caselle.get(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getCaselleSize(){
|
||||||
|
return caselle.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
//controlla se le celle adiancenti hanno tessere tifo
|
||||||
public boolean controllaAdiacenti(int i){
|
public boolean controllaAdiacenti(int i){
|
||||||
if (caselle.get(i-1).getTifoInveimento() != 0 || caselle.get(i+1).getTifoInveimento() != 0 || caselle.get(i).getTifoInveimento() != 0){
|
if (caselle.get(i-1).getTifoInveimento() != 0 || caselle.get(i+1).getTifoInveimento() != 0 || caselle.get(i).getTifoInveimento() != 0){
|
||||||
new Output().erroreAdiacenti();
|
new Output().erroreAdiacenti();
|
||||||
|
@ -37,6 +41,7 @@ public class Mappa {
|
||||||
return stringa;
|
return stringa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//calcola i movimenti dei cavalli e dei cavalli posizionati sopra
|
||||||
public void movimentoCavalli(Cavallo cavallo, int i, Mappa mappa){
|
public void movimentoCavalli(Cavallo cavallo, int i, Mappa mappa){
|
||||||
if(cavallo.isMatto()){
|
if(cavallo.isMatto()){
|
||||||
i = i * (-1);
|
i = i * (-1);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import java.util.Deque;
|
import java.util.Deque;
|
||||||
|
|
||||||
public class Output {
|
public class Output {
|
||||||
|
//metodi abbastanza autoesplicativi
|
||||||
|
|
||||||
public Output(){
|
public Output(){
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ import java.util.Deque;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
|
||||||
import it.kibo.fp.lib.InputData;
|
|
||||||
import it.kibo.fp.lib.Menu;
|
import it.kibo.fp.lib.Menu;
|
||||||
import it.kibo.fp.lib.RandomDraws;
|
import it.kibo.fp.lib.RandomDraws;
|
||||||
|
|
||||||
|
@ -37,12 +36,14 @@ public class Partita {
|
||||||
giocatori.getFirst().setCavaliere(true);
|
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(){
|
public void inizioTappa(){
|
||||||
int dado = 0;
|
int dado = 0;
|
||||||
do{
|
do{
|
||||||
new Output().annuncioTurno(giocatori.getFirst());
|
new Output().annuncioTurno(giocatori.getFirst());
|
||||||
int s = menu.choose();
|
int s = menu.choose();
|
||||||
switch (s){
|
switch (s){ù
|
||||||
|
//dado
|
||||||
case 1:
|
case 1:
|
||||||
giocatori.getFirst().lanciaDado(cavalli, mappa);
|
giocatori.getFirst().lanciaDado(cavalli, mappa);
|
||||||
giocatori.addLast(giocatori.getFirst());
|
giocatori.addLast(giocatori.getFirst());
|
||||||
|
@ -50,14 +51,14 @@ public class Partita {
|
||||||
dado ++;
|
dado ++;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
//posiziona tessera
|
||||||
case 2:
|
case 2:
|
||||||
int x = giocatori.getFirst().posizionaTesseraTifoInveimento(mappa);
|
int x = giocatori.getFirst().posizionaTesseraTifoInveimento(mappa);
|
||||||
mappa.getCasella(x).setGiocatoreTessera(giocatori.getFirst());
|
mappa.getCasella(x).setGiocatoreTessera(giocatori.getFirst());
|
||||||
giocatori.addLast(giocatori.getFirst());
|
giocatori.addLast(giocatori.getFirst());
|
||||||
giocatori.removeFirst();
|
giocatori.removeFirst();
|
||||||
break;
|
break;
|
||||||
|
//piazza scommessa
|
||||||
case 3:
|
case 3:
|
||||||
boolean checkTesserePiene = false;
|
boolean checkTesserePiene = false;
|
||||||
int cavalloScelto = 0;
|
int cavalloScelto = 0;
|
||||||
|
@ -70,7 +71,7 @@ public class Partita {
|
||||||
}while(checkTesserePiene == true);
|
}while(checkTesserePiene == true);
|
||||||
giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1));
|
giocatori.getFirst().scommettiCavallo(cavalli.get(cavalloScelto-1));
|
||||||
break;
|
break;
|
||||||
|
//lancia la casa
|
||||||
case 4:
|
case 4:
|
||||||
int cartaCavallo = 0;
|
int cartaCavallo = 0;
|
||||||
boolean checkCartaUsata = false;
|
boolean checkCartaUsata = false;
|
||||||
|
@ -97,11 +98,11 @@ public class Partita {
|
||||||
giocatori.getFirst().giocaCasa(cartaCavallo, pila);
|
giocatori.getFirst().giocaCasa(cartaCavallo, pila);
|
||||||
}while(checkCartaUsata == true);
|
}while(checkCartaUsata == true);
|
||||||
break;
|
break;
|
||||||
|
//mostra la mappa, può essere invocate più volte in quanto non consuma un turno
|
||||||
case 5:
|
case 5:
|
||||||
new Output().mostraMappa(mappa);
|
new Output().mostraMappa(mappa);
|
||||||
break;
|
break;
|
||||||
|
//mostra i soldi
|
||||||
case 6:
|
case 6:
|
||||||
new Output().visualizzaSoldi(giocatori);
|
new Output().visualizzaSoldi(giocatori);
|
||||||
break;
|
break;
|
||||||
|
@ -113,6 +114,7 @@ public class Partita {
|
||||||
Algoritmo soluzione = new Algoritmo(nWords, dati.getEncryptedWords(), dati.getKeyWords());
|
Algoritmo soluzione = new Algoritmo(nWords, dati.getEncryptedWords(), dati.getKeyWords());
|
||||||
|
|
||||||
break;*/
|
break;*/
|
||||||
|
//modulo 2
|
||||||
case 8:
|
case 8:
|
||||||
for(int i = 0; i < cavalli.size(); i++){
|
for(int i = 0; i < cavalli.size(); i++){
|
||||||
if(cavalli.get(i).isMatto()){
|
if(cavalli.get(i).isMatto()){
|
||||||
|
@ -185,12 +187,17 @@ public class Partita {
|
||||||
cavalli.get(i).svuotaTessere();
|
cavalli.get(i).svuotaTessere();
|
||||||
|
|
||||||
}
|
}
|
||||||
//calcolo tessereSbleuro
|
//calcolo tessereSbleuro e ne approfitto per ricaricare le tessere tifo
|
||||||
for(int i = 0; i < giocatori.size(); i++){
|
for(int i = 0; i < giocatori.size(); i++){
|
||||||
giocatori.getFirst().convertiTessereSbleuro();
|
giocatori.getFirst().convertiTessereSbleuro();
|
||||||
|
giocatori.getFirst().setTesseraTifoInveimento(true);
|
||||||
giocatori.addLast(giocatori.getFirst());
|
giocatori.addLast(giocatori.getFirst());
|
||||||
giocatori.removeFirst();
|
giocatori.removeFirst();
|
||||||
}
|
}
|
||||||
|
//pulisco il terreno dalle tessere tifo
|
||||||
|
for(int i = 0; i < mappa.getCaselleSize(); i++){
|
||||||
|
mappa.getCasella(i).setTifoInveimento(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void finePartita(){
|
public void finePartita(){
|
||||||
|
|
|
@ -6,6 +6,7 @@ public class Pila {
|
||||||
private Deque <Carta> vincitori = new ArrayDeque<>();
|
private Deque <Carta> vincitori = new ArrayDeque<>();
|
||||||
private Deque <Carta> perdenti = new ArrayDeque<>();
|
private Deque <Carta> perdenti = new ArrayDeque<>();
|
||||||
|
|
||||||
|
//metodi invocati dai giocatori quando scommettono su un cavallo
|
||||||
public void aggiungiVincitori(Carta carta){
|
public void aggiungiVincitori(Carta carta){
|
||||||
vincitori.addLast(carta);
|
vincitori.addLast(carta);
|
||||||
}
|
}
|
||||||
|
@ -21,6 +22,7 @@ public class Pila {
|
||||||
return perdenti.size();
|
return perdenti.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//ritorna la carta all'indice stabilito
|
||||||
public Carta getCartaVincitore(int i){
|
public Carta getCartaVincitore(int i){
|
||||||
ArrayList <Carta> vincitoriArray = new ArrayList<>(vincitori);
|
ArrayList <Carta> vincitoriArray = new ArrayList<>(vincitori);
|
||||||
return vincitoriArray.get(i);
|
return vincitoriArray.get(i);
|
||||||
|
|
|
@ -37,6 +37,7 @@ public class Posizione {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//metodo alternativo di quello che c'è sotto
|
||||||
/*if(cavalli.size() > 0){
|
/*if(cavalli.size() > 0){
|
||||||
for(int i = 0; i < cavalli.size(); i++){
|
for(int i = 0; i < cavalli.size(); i++){
|
||||||
stringa += cavalli.getFirst().getNome() + " ---> ";
|
stringa += cavalli.getFirst().getNome() + " ---> ";
|
||||||
|
@ -48,9 +49,6 @@ public class Posizione {
|
||||||
for(int i = 0; i < cavalliArray.size(); i ++){
|
for(int i = 0; i < cavalliArray.size(); i ++){
|
||||||
stringa += cavalliArray.get(i).getNome() + " ---> ";
|
stringa += cavalliArray.get(i).getNome() + " ---> ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return stringa;
|
return stringa;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue