Skip to content

Latest commit

 

History

History
99 lines (69 loc) · 3.61 KB

README.md

File metadata and controls

99 lines (69 loc) · 3.61 KB

Lorenzo il Magnifico

Lorenzo Box Icon

Gioco de Lorenzo il Magnifico sviluppato in Java, con un approccio client-server

Funzionalità

Categorie Sviluppate nel progetto:

  1. Regole Semplificate
  2. Regole Complete
  3. Socket
  4. CLI
  5. GUI
  6. Funzionalità Avanzate

Le funzionalità sviluppate in dettaglio sono:

Avvio:

  • Possibilità di avvio tramite terminale o file batch o script
  • Avvio separato Client / Server
  • Stanza di attesa per la ricerca di una partita
  • Caricamento dei settaggi della stanza da file XML

Stanza:

  • Log-in per utenti che hanno già giocato
  • Visualizzazione delle statistiche personali a seguti del log-in
  • Timer per l'auto avvio di una partita per meno di 4 giocatori
  • Timer per l'auto avvio di una partita dopo aver raggiunto i 4 giocatori
  • Possibilità di far partire una partita in qualsiasi momento

Board:

  • Gestione dei leader (Gioca, Attiva, Scarta) secondo le regole, con caricamento casuale da file XML
  • Gestione delle scomuniche con caricamento casuale da file XML
  • Caricamento dei settaggi della Board di gioco da file XML
  • Timer per la gestione dei turni di gioco, gestione di giocatore AFK
  • Possibilità di passare un turno con un azione nulla
  • Visione della plancia personale di un qualsiasi giocatore
  • Gestione della board funzionante (Adattamento al numero di giocatori, Piazzamento Familiari, Pulizia ecc..)

Server:

  • Gestione della connessione Client - Server
  • Possibilità di mantenere connessioni multiple (più partite contemporanteamente)

Extra:

  • Permanenza dei dati su file XML
  • Model e server adattati per permettere ad un quinto giocatore di giocare la partita

Avvio

Tramite repository di GitHub è possibile scaricare l'ultima versione che è stata esportata come jar eseguibile e caricata nella categoria Release. Tale file jar va eseguito tramite il seguente comando da terminale.

> java -jar Lorenzo.jar

All'avvio sarà possibile scegliere se eseguire un Server oppure un Client, nel secondo casò bisognerà quindi scrivere l'IP del server che è stato avviato in precedenza, in seguto verrà richiesto se avviare il gioco con interfaccia GUI o con interfaccia CLI.

N.B.

In questa release sono state pre-inserite delle utenze prova presenti nel file XML, le password sono state criptate con l'algoritmo SHA-224. Le utenze prova sono:

  • Username: mfeo15 Password: password
  • Username: dragonet95 Password: password
  • Username: yaoberga Password: password

Testing

Il testing è stato eseguito sulla maggior parte del codice del Model, con particolare attenzione per le classi fondamentali come Resources, Actions, Cards e Effects. Anche parte del networking è stato testato.

Documentazione Java

La documentazione completa in JavaDoc delle classi è disponibile qui

Sviluppato con

Contributi

  • Francesco Marconi
  • Giovanni Quattrocchi

Un ringraziamento speciale ad entrambi per l'aiuto alla realizzazione di questo progetto

Autori

  • Luca Favano
  • Matteo Yann Feo
  • Aaron Karama

Hanno collaborato per lo sviluppo del progetto

Licenza

Progetto svolto in collaborazione col Politecnico di Milano e Cranio Games che ci ha concesso la licenza di utilizzo del materiale grafico.