Si presuppone che l’utente conosca completamente le regole del gioco da tavolo “Lorenzo Il Magnifico”, prodotto dalla Cranio Creations
Per una corretta configurazione della connessione è richiesto l’avvio precedente della
corrispettiva applicazione Server.
All’avvio del programma Client (CLI) viene chiesto quale connessione utilizzare: se
l’utente vuole utilizzare la connessione realizzata con RMI digita “rmi”
e preme invio, se
vuole utilizzare la connessione realizzata tramite socket digita “socket”
e preme invio.
Tali stringhe non sono suscettibili alle maiuscole.
Terminate le operazioni di connessione, viene notificato agli utenti se la partita è stata
creata tramite opportuno messaggio. Da questo momento ogni fase di gioco e azione
dei giocatori sono notificate da messaggi preceduti da una stringa racchiusa tra
parentesi quadre. Tale stringa indica l’utente che ha eseguito l’azione o è uguale a
“GAME”
se si tratta di una fase di gioco.
Ad ogni giocatore viene notificato di chi è il turno e le azioni disponibili.
Tali azioni sono indicate tra parentesi in minuscolo e, ad eccezione della azione “chat”
,
vengono eseguite solo dal giocatore di turno. Se un giocatore non di turno cerca di
eseguire una di queste azioni, gli viene notificato un messaggio di errore. Allo stesso
modo, se il giocatore di turno cerca di effettuare una azione che secondo le regole non è
attuabile, viene notificato un messaggio di errore che ne indica la causa del tale.
Per selezionare una delle azioni disponibili, il giocatore di turno scrive il nome dell’azione e preme invio. Si sottolinea che se l’azione non è riconosciuta, verrà chiesto ancora all’utente di inserire una scelta tra le azioni disponibili. A dipendere dalla azione, vengono stampate le informazioni dello stato del gioco utili per l’azione stessa e le opzioni ulteriori che l’utente può scegliere.
Nel caso venga selezionato “Market”
vengono stampate le zone del mercato: esse
varranno null se attualmente nessun famigliare è presente nella zona, altrimenti verrà
segnalato quale famigliare è presente e a quale giocatore appartiene. Viene poi chiesto
al giocatore quale zona si vuole occupare e con quale famigliare.
Nel caso venga selezionata l’azione “Harvest”
vengono stampate le due zone del
raccolto: la prima zona, quella rotonda, conterrà null se non vi è presente nessun
famigliare, la seconda zona, quella ovale, non conterrà niente se non è presente nessun
famigliare. Come nella zona del mercato, se è presente un famigliare, viene notificato
nella stampa.
A seguire viene chiesto all’utente quale delle due zone vuole occupare, con quale
famigliare e, se presenti, se vuole attivare i singoli effetti permanenti delle carte
Territorio in proprio possesso.
Il funzionamento dell’azione “Production”
è esattamente uguale a quello dell’azione
Raccolto, con l’unica differenza che viene chiesto se si vuole attivare i singoli effetti
permanenti delle carte edificio anziché delle carte territorio.
Nel caso venga selezionata l’azione “CouncilPalace”
verranno stampati i famigliari
attualmente nella zona e verrà chiesto quale dei propri famigliari si vuole posizionare
nella zona. Verrà poi chiesta quale effetto del privilegio del consiglio eseguire.
Se viene selezionata l’azione “Tower”
, vengono stampate le torri e le carte posizionate
su esse. Nel caso sia presente un famigliare in un piano della torre, verranno stampate le
informazioni su quest’ultimo.
Successivamente, viene chiesto al giocatore su quale torre vuole posizionare il proprio
famigliare. Data la scelta, vengono stampate le carte sulla torre in questione ed i relativi
costi e viene chiesto all’utente quale dei piani della torre si vuole occupare.
Proseguendo dopo la scelta, se la carta possiede costi alternativi, viene chiesto
all’utente quale pagare, altrimenti avviene il pagamento in automatico.
Se viene selezionata l’azione “Familiar”
, viene chiesto all’utente a quale famigliare vuole
aumentare il valore pagando servitori e successivamente quanti servitori vuole pagare.
Da notare che tale azione, a differenza delle azioni standard, non prevede il passaggio
del turno al compimento della stessa.
Tale azione diventa disponibile solamente alla fine di ogni periodo. Quando selezionata, se la fase di gioco è effettivamente il Rapporto col Vaticano, viene chiesto all’utente se vuole sostenere la Chiesa oppure no. A seconda della risposta e delle disponibilità dei punti fede del giocatore, vengono eseguite le istruzioni corrispondenti.
L’azione chat si differenzia dalle altre azioni in quanto può essere utilizzata dagli utenti in qualunque momento. Come suggerisce il nome, permette ai giocatori di inviare un messaggio comune.
Se selezionata l’azione “board”
, vengono stampate le informazioni relative al tabellone
di gioco secondo le convenzioni descritte per le azioni “action”
.
Se selezionata l’azione “dash”
, vengono stampate le informazioni relative alla propria
plancia giocatore. Viene chiesto anche se si vuole stampare le informazioni relative alle
plance degli altri giocatori.
Se selezionata l’azione “cards”
, vengono stampate le informazioni relative a tutte le
carte presenti nel gioco.
Per una corretta configurazione della connessione è richiesto l’avvio precedente della
corrispettiva applicazione Server.
All’avvio del programma Client (GUI) viene chiesto quale connessione utilizzare: “rmi”
,
oppure “socket”
, ed il nome utente da utilizzare per il giocatore.
Una volta portata a termine la connessione, il programma rimarrà in attesa della notifica da parte del Server dell’aggiunta di altri giocatori e conseguente inizio della partita
UsernameFrame, schermata usata per il login e attesa inizio partita
Il tabellone è il componente principale della partita dove sono presenti la maggior parte delle azioni di gioco che un giocatore può svolgere posizionando un famigliare all’interno della partita. Per posizionare un famigliare è necessario prima selezionarlo nella plancia con un click ed in seguito selezionare la zona dove spostarlo, sempre con un click. Inoltre è possibile prendere visione delle carte sviluppo, associate alle torri, e delle eventuali scomuniche, associate ai giocatori.
GUI, schermata di esempio di una configurazione del tabellone nel corso di una partita
La plancia è il componente che contiene le informazioni relative alle carte e alla riserva
del giocatore.
In quest’area un giocatore può
eseguire un’azione “famigliare”
incrementando di uno il valore
di una pedina (eseguendo 1
click su servitore e
successivamente 1 click sulla
pedina desiderata).
Plancia, esempio di una configurazione della plancia giocatore
Componente del gioco che non fa altro che esporre le plance degli avversari (riserva, carte sviluppo). Non e possibile prendere visione dei famigliari non ancora posizionati.
PlanciaAvversario, esempio di una configurazione della plancia di un giocatore avversario
Al giocatore viene notificata la scomunica solamente quando essa viene applicata la prima
volta dopo un rapporto del Vaticano. Nella modalità linea di comando, è possibile
consultare le scomuniche della partita all’interno del comando “dash”
(scomuniche
associate ai giocatori) o “board”
(scomuniche in uso); il programma attua
automaticamente tutti i malus derivanti dalle tessere scomunica.
Alla fine della partita, il programma calcola la classifica finale basata sui punti vittoria in possesso dei giocatori, calcolando tutti i bonus derivanti da carte e i malus derivanti dalle tessere scomunica, nonché i punti vittoria ricevuti in base alle risorse in proprio possesso. Tale classifica viene poi inviata a tutti i giocatori.
Risorse utili: Manuale utente.pdf - Regole del gioco: [EN] - Documento di progetto.pdf - UML.mdj
Contributori: CharlieChaplin1947, Raruto