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){
|
||||
tessere.add(new Tessera(g));
|
||||
}
|
||||
|
||||
public void spostaCasella(Mappa mappa, int 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);
|
||||
|
||||
}
|
||||
|
||||
public void aggiungiTessera(Giocatore g){
|
||||
|
|
|
@ -62,6 +62,9 @@ public class Giocatore {
|
|||
public void aggiungiSbleuro(){
|
||||
this.sbleuri ++;
|
||||
}
|
||||
public void aggiungiSbleuri(int i){
|
||||
this.sbleuri += i;
|
||||
}
|
||||
|
||||
public int posizionaTesseraTifoInveimento(Mappa mappa){
|
||||
int i = new Input().sceltaTifoInvimento(mappa);
|
||||
|
|
|
@ -1,6 +1,48 @@
|
|||
|
||||
|
||||
import it.kibo.fp.lib.InputData;
|
||||
|
||||
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(){
|
||||
|
||||
}
|
||||
|
|
|
@ -33,5 +33,16 @@ public class Output {
|
|||
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.ArrayList;
|
||||
import java.util.Deque;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
import it.kibo.fp.lib.InputData;
|
||||
import it.kibo.fp.lib.Menu;
|
||||
|
@ -8,7 +10,7 @@ import it.kibo.fp.lib.RandomDraws;
|
|||
|
||||
public class Partita {
|
||||
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 [] selezioniCavalli ={"Nawt, Rosso", "Blanco, Blu", "Pound, Giallo", "Bang, Verde", "Bupkus, Viola"};
|
||||
private Deque <Giocatore> giocatori = new ArrayDeque<>();
|
||||
|
@ -111,6 +113,15 @@ public class Partita {
|
|||
Algoritmo soluzione = new Algoritmo(nWords, dati.getEncryptedWords(), dati.getKeyWords());
|
||||
|
||||
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,10 +141,56 @@ public class Partita {
|
|||
}
|
||||
|
||||
public void riscuotiTessereCavalli(){
|
||||
ArrayList <Cavallo> classifica = new ArrayList<>();
|
||||
for(int i = 0; i < cavalli.size(); i++){
|
||||
ArrayList <Cavallo> classifica = cavalli;
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
public void finePartita(){
|
||||
|
|
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){
|
||||
this.giocatorePrenotato = g;
|
||||
}
|
||||
|
||||
public Giocatore getGiocatore(){
|
||||
return giocatorePrenotato;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue