quasi finita la fine della tappa
This commit is contained in:
parent
6621dd2952
commit
e216374961
15 changed files with 179 additions and 4 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Spirit_Arnaldo_Selvaggio/bin/Partita$1.class
Normal file
BIN
Spirit_Arnaldo_Selvaggio/bin/Partita$1.class
Normal file
Binary file not shown.
Binary file not shown.
20
Spirit_Arnaldo_Selvaggio/bin/README.md
Normal file
20
Spirit_Arnaldo_Selvaggio/bin/README.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# PgAr2025_Esame_GabrieleDomenichini
|
||||||
|
## Candidato
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|-------------- |---------------- |
|
||||||
|
| Nome
|
||||||
|
| **Gabriele**
|
||||||
|
|
|
||||||
|
| Cognome
|
||||||
|
| **Domenichini**
|
||||||
|
|
|
||||||
|
| Matricola
|
||||||
|
| **752103**
|
||||||
|
|
|
||||||
|
| Corso di Studi | **CorsoDiStudi** |
|
||||||
|
## Moduli Implementati- [x] Modulo 1: Inversione- [ ] Modulo 2: Personaggi- [x] Modulo 3: Taunt- [ ] Modulo 4: Classifica- [ ] Modulo 5: Rally- [ ] Modulo 6: Mapp
|
||||||
|
|
||||||
|
|
||||||
|
sono consapevole che avrei dovuto finire il modulo base prima di fare quelli extra ma il taunt era un copia e incolla della gara di informatica, mentre l'inversione erano letteralmente 6 righe di codice (tempo complessivo 5 minuti non erano quelli che mi mancavano per finire).
|
Binary file not shown.
|
@ -62,13 +62,31 @@ public class Cavallo {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Tessera getTessera(){
|
||||||
|
return tessere.getFirst();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void togliTessera(){
|
||||||
|
tessere.removeFirst();
|
||||||
|
}
|
||||||
|
|
||||||
public void addTessera(Giocatore g){
|
public void addTessera(Giocatore g){
|
||||||
tessere.add(new Tessera(g));
|
tessere.add(new Tessera(g));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spostaCasella(Mappa mappa, int i){
|
public void spostaCasella(Mappa mappa, int i){
|
||||||
this.posizione += i;
|
this.posizione += i;
|
||||||
|
if(mappa.getCasella(posizione).getTifoInveimento() == 1){
|
||||||
|
this.posizione += 1;
|
||||||
|
mappa.getCasella(posizione).getGiocatoreTessera().aggiungiSbleuro();
|
||||||
|
}
|
||||||
|
if(mappa.getCasella(posizione).getTifoInveimento() == -1){
|
||||||
|
this.posizione -= 1;
|
||||||
|
mappa.getCasella(posizione).getGiocatoreTessera().aggiungiSbleuro();
|
||||||
|
}
|
||||||
mappa.getCasella(this.posizione).aggiungiCavallo(this);
|
mappa.getCasella(this.posizione).aggiungiCavallo(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void aggiungiTessera(Giocatore g){
|
public void aggiungiTessera(Giocatore g){
|
||||||
|
|
|
@ -62,6 +62,9 @@ public class Giocatore {
|
||||||
public void aggiungiSbleuro(){
|
public void aggiungiSbleuro(){
|
||||||
this.sbleuri ++;
|
this.sbleuri ++;
|
||||||
}
|
}
|
||||||
|
public void aggiungiSbleuri(int i){
|
||||||
|
this.sbleuri += i;
|
||||||
|
}
|
||||||
|
|
||||||
public int posizionaTesseraTifoInveimento(Mappa mappa){
|
public int posizionaTesseraTifoInveimento(Mappa mappa){
|
||||||
int i = new Input().sceltaTifoInvimento(mappa);
|
int i = new Input().sceltaTifoInvimento(mappa);
|
||||||
|
|
|
@ -1,6 +1,48 @@
|
||||||
|
|
||||||
|
|
||||||
import it.kibo.fp.lib.InputData;
|
import it.kibo.fp.lib.InputData;
|
||||||
|
|
||||||
public class Input {
|
public class Input {
|
||||||
|
|
||||||
|
/*
|
||||||
|
private int nWords;
|
||||||
|
private ArrayList<String> encryptedWords;
|
||||||
|
private ArrayList<String> keyWords;
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
public Input(int nWords) {
|
||||||
|
this.nWords = nWords;
|
||||||
|
encryptedWords = new ArrayList<>();
|
||||||
|
keyWords = new ArrayList<>();
|
||||||
|
|
||||||
|
doInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doInput() {
|
||||||
|
for (int i = 0; i < nWords * 2; i++) {
|
||||||
|
String word = scanner.nextLine();
|
||||||
|
if (i < nWords / 2) {
|
||||||
|
encryptedWords.add(word);
|
||||||
|
} else {
|
||||||
|
keyWords.add(word);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArrayList<String> getEncryptedWords() {
|
||||||
|
return encryptedWords;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArrayList<String> getKeyWords() {
|
||||||
|
return keyWords;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Input(){
|
public Input(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,16 @@ public class Output {
|
||||||
System.out.println("il cavallo selezionato ha già tutte le tessere prese ");
|
System.out.println("il cavallo selezionato ha già tutte le tessere prese ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void posizioneClassifica(Cavallo cavallo, int i){
|
||||||
|
System.out.println("il cavallo "+cavallo.getNome()+" è alla posizione "+i+ "della classifica");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void annuncioGuadagno(Giocatore g, int i){
|
||||||
|
System.out.println("il giocatore "+ g.getNome() + "ha guadagnato "+i+" sbleuri!!");
|
||||||
|
}
|
||||||
|
public void annuncioPerdita(Giocatore g, int i){
|
||||||
|
System.out.println("il giocatore "+ g.getNome() + "ha perso "+i+" sbleuri!!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Deque;
|
import java.util.Deque;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
|
||||||
import it.kibo.fp.lib.InputData;
|
import it.kibo.fp.lib.InputData;
|
||||||
import it.kibo.fp.lib.Menu;
|
import it.kibo.fp.lib.Menu;
|
||||||
|
@ -8,7 +10,7 @@ import it.kibo.fp.lib.RandomDraws;
|
||||||
|
|
||||||
public class Partita {
|
public class Partita {
|
||||||
private static String titolo = "seleziona la scelta";
|
private static String titolo = "seleziona la scelta";
|
||||||
private static String [] selezioni = {"Lancia il dado", "usa la tessera tifo o inveimento", "scommetti su un cavallo", "giocati la casa", "visualizza la mappa", "visualizza i soldi di tutti", "Taunta un nemico"};
|
private static String [] selezioni = {"Lancia il dado", "usa la tessera tifo o inveimento", "scommetti su un cavallo", "giocati la casa", "visualizza la mappa", "visualizza i soldi di tutti", "Taunta un nemico", "inverti il senso di marcia"};
|
||||||
private static String titolo2 = "seleziona il cavallo su cui scommettere";
|
private static String titolo2 = "seleziona il cavallo su cui scommettere";
|
||||||
private static String [] selezioniCavalli ={"Nawt, Rosso", "Blanco, Blu", "Pound, Giallo", "Bang, Verde", "Bupkus, Viola"};
|
private static String [] selezioniCavalli ={"Nawt, Rosso", "Blanco, Blu", "Pound, Giallo", "Bang, Verde", "Bupkus, Viola"};
|
||||||
private Deque <Giocatore> giocatori = new ArrayDeque<>();
|
private Deque <Giocatore> giocatori = new ArrayDeque<>();
|
||||||
|
@ -111,6 +113,15 @@ public class Partita {
|
||||||
Algoritmo soluzione = new Algoritmo(nWords, dati.getEncryptedWords(), dati.getKeyWords());
|
Algoritmo soluzione = new Algoritmo(nWords, dati.getEncryptedWords(), dati.getKeyWords());
|
||||||
|
|
||||||
break;*/
|
break;*/
|
||||||
|
case 8:
|
||||||
|
for(int i = 0; i < cavalli.size(); i++){
|
||||||
|
if(cavalli.get(i).isMatto()){
|
||||||
|
cavalli.get(i).setMatto(false);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
cavalli.get(i).setMatto(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,9 +141,55 @@ public class Partita {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void riscuotiTessereCavalli(){
|
public void riscuotiTessereCavalli(){
|
||||||
ArrayList <Cavallo> classifica = new ArrayList<>();
|
ArrayList <Cavallo> classifica = cavalli;
|
||||||
for(int i = 0; i < cavalli.size(); i++){
|
Collections.sort(classifica, new Comparator<Cavallo>(){
|
||||||
|
public int compare(Cavallo a, Cavallo b){
|
||||||
|
return b.getPosizione()-a.getPosizione();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//calcolo scommesse effettuate
|
||||||
|
for(int i = 0; i < classifica.size(); i++){
|
||||||
|
Cavallo a = classifica.get(i);
|
||||||
|
new Output().posizioneClassifica(classifica.get(i), i);
|
||||||
|
for(int j = 0; j < a.getTessereSize(); j++){
|
||||||
|
Tessera tessera = a.getTessera();
|
||||||
|
if(i == 0){
|
||||||
|
switch(j){
|
||||||
|
case 1:
|
||||||
|
tessera.getGiocatore().aggiungiSbleuri(5);
|
||||||
|
new Output().annuncioGuadagno(tessera.getGiocatore(), 5);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
tessera.getGiocatore().aggiungiSbleuri(3);
|
||||||
|
new Output().annuncioGuadagno(tessera.getGiocatore(), 3);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
tessera.getGiocatore().aggiungiSbleuri(2);
|
||||||
|
new Output().annuncioGuadagno(tessera.getGiocatore(), 2);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
tessera.getGiocatore().aggiungiSbleuri(2);
|
||||||
|
new Output().annuncioGuadagno(tessera.getGiocatore(), 2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i == 1){
|
||||||
|
tessera.getGiocatore().aggiungiSbleuri(1);
|
||||||
|
new Output().annuncioGuadagno(tessera.getGiocatore(), 1);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
tessera.getGiocatore().aggiungiSbleuri(-1);
|
||||||
|
new Output().annuncioPerdita(tessera.getGiocatore(), 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cavalli.get(i).svuotaTessere();
|
||||||
|
|
||||||
|
}
|
||||||
|
//calcolo tessereSbleuro
|
||||||
|
for(int i = 0; i < giocatori.size(); i++){
|
||||||
|
giocatori.getFirst().convertiTessereSbleuro();
|
||||||
|
giocatori.addLast(giocatori.getFirst());
|
||||||
|
giocatori.removeFirst();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
20
Spirit_Arnaldo_Selvaggio/src/README.md
Normal file
20
Spirit_Arnaldo_Selvaggio/src/README.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# PgAr2025_Esame_GabrieleDomenichini
|
||||||
|
## Candidato
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|
|
||||||
|
|-------------- |---------------- |
|
||||||
|
| Nome
|
||||||
|
| **Gabriele**
|
||||||
|
|
|
||||||
|
| Cognome
|
||||||
|
| **Domenichini**
|
||||||
|
|
|
||||||
|
| Matricola
|
||||||
|
| **752103**
|
||||||
|
|
|
||||||
|
| Corso di Studi | **CorsoDiStudi** |
|
||||||
|
## Moduli Implementati- [x] Modulo 1: Inversione- [ ] Modulo 2: Personaggi- [x] Modulo 3: Taunt- [ ] Modulo 4: Classifica- [ ] Modulo 5: Rally- [ ] Modulo 6: Mapp
|
||||||
|
|
||||||
|
|
||||||
|
sono consapevole che avrei dovuto finire il modulo base prima di fare quelli extra ma il taunt era un copia e incolla della gara di informatica, mentre l'inversione erano letteralmente 6 righe di codice (tempo complessivo 5 minuti non erano quelli che mi mancavano per finire).
|
|
@ -8,4 +8,8 @@ public class Tessera {
|
||||||
public void assegnaTessera(Giocatore g){
|
public void assegnaTessera(Giocatore g){
|
||||||
this.giocatorePrenotato = g;
|
this.giocatorePrenotato = g;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Giocatore getGiocatore(){
|
||||||
|
return giocatorePrenotato;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue