...

Turn Based Game - Carmine Carella

by user

on
Category: Documents
13

views

Report

Comments

Transcript

Turn Based Game - Carmine Carella
TURN BASED GAME
STRUTTURA GENERALE
La struttura generale del progetto è un’implementazione del modello
MVC:
JSP
SERVLET
DATABASE
Model
View
Controller
SESSION
BEAN
SESSION
BEAN
FACADE
TURN BASED GAME
ELENCO FUNZIONALITA’
• Registrazione e login
• Creazione partita e gestione opzioni
• Join a partite già esistenti
• Caricamento partite iniziate
• Generazione mappe
• Rendering mappe
• Interfacciamento al gioco
• Creazione azioni
• Commit e inizializzazione nuovo turno
TURN BASED GAME
REGISTRAZIONE E LOGIN
REGISTRAZIONE:
• Inserimento dati utente
• Richiesta di registrazione
• Controllo dati lato server
• Persistenza dati
LOGIN:
• Inserimento credenziali
• Verifica dati
• Risposta
TURN BASED GAME
CREAZIONE PARTITA E JOIN A PARTITE
CREAZIONE PARTITA:
• Inserimento nome partita
• Scelta mappa esistente o creazione nuova mappa
• Controlli lato server
• Persistenza della nuova partita
JOIN PARTITE GIA’ ESISTENTI :
• Selezione della partita e del nick name
• Richiesta di join alla partita
• Aggiunta del nuovo giocatore alla partita
• Attivazione del timer, raggiunta la soglia di utenti minimi
TURN BASED GAME
CARICAMENTO PARTITE INIZIATE
• Scelta della partita
• Il primo giocatore che entra inizializza la partita
• Richiesta di caricamento della mappa, al session
• Richiesta di rendering della mappa caricata, al session
TURN BASED GAME
GENERAZIONE MAPPE
• Mappe create in maniera casuale
• Morfologia del territorio
• Collocazione intelligente di spot di partenza
• Posizionamento delle risorse
• Conversione da grafo a Entity Bean
• Persistenza
TURN BASED GAME
RENDERING DELLE MAPPE
• Calcolo dei centri degli esagoni
• Rendering
drawMap*
STATEFUL MAP
DRAWER
SESSION BEAN
loadgame.jsp
RENDERING
ENGINE
(ottiene la stringa come
attribute della richiesta
http)
drawMap*
SERVLET
GENERICA
TURN BASED GAME
INTERFACCIAMENTO AL GIOCO
• Click su di un oggetto della mappa
• Calcolo delle azioni disponibili
• Risposta al client
get*AvailableAction() (AJAX)
GetAvailable
ActionServlet
loadgame.jsp
Risposta (AJAX)
TURN BASED GAME
CREAZIONE AZIONI
1
2
loadgame.jsp
ServletDiAzione
ServletDiAzione
ActionInProgressServlet
loadgame.jsp
3
loadgame.jsp
ServletDiAzione
TURN BASED GAME
CREAZIONE AZIONI
1
2
loadgame.jsp
paginaSceltaAzione.jsp
paginaSceltaAzione.jsp
ServletDiAzione
loadgame.jsp
TURN BASED GAME
COMMIT E INIZIALIZZAZIONE NUOVO TURNO
• Switch da coda temporanea a coda definitiva
• Il primo giocatore che rientra nella partita inizializza il
nuovo turno
• Gestore turno esegue le azioni del turno appena concluso
• Ogni servlet implementa il metodo actionHandler
Fly UP