Tema elaborato per Tecnologia e Applicazioni Internet 2010/11
Lo studente deve scrivere un'applicazione web in Java, applicando i principi appresi in questo corso. L'applicazione deve permettere a due giocatori di giocare una partita di tris ciascuno dal proprio browser.
-
LISTA PARTITE. La prima pagina del servizio mostra l'elenco delle partite, in quest'ordine:
- Partite APERTE: quelle che sono state aperte ma manca un giocatore
- Partite IN CORSO
- Partite CONCLUSE
Per ciascuna partita si vedono i nomi dei giocatori, e si può premere un link per vedere il dettaglio della partita.
-
DETTAGLIO PARTITA. Una pagina che mostra la partita. Questa vista è diversa nei seguenti casi:
- Partita APERTA: si vede il NOME dell'utente che ha aperto la partita. Si può ACCETTARE LA SFIDA
- Partita IN CORSO: un osservatore può osservare le mosse in tempo reale. Un giocatore può fare la sua mossa, se è il suo turno. Altrimenti aspetta la mossa dell'avversario che viene mostrata in tempo reale.
- Partita CONCLUSA: si può vedere la posizione finale.
-
GIOCO. Il servizio web implementa le regole del tris. I giocatori muovono a turno, rispettando le regole. Quando la partita finisce, per vittoria oppure per parità, la partita viene dichiarata CONCLUSA.
-
CREAZIONE PARTITA. La prima pagina del servizio contiene un bottone che permette di creare una nuova partita. Dopo la creazione, la partita appare nella prima pagina.
-
ACCETTARE LA SFIDA. E' possibile per un utente accettare la sfida di una partita. La partita da "aperta" diventa "in corso". L'utente diventa il secondo giocatore di quella partita.
-
[opzionale] CHAT. Nella pagina di DETTAGLIO PARTITA, quando la partita è IN CORSO, i giocatori possono commentare per mezzo di una chat. GLi osservatori possono pure contribuire alla chat.
-
[opzionale] VARIANTI. Quando creo una partita posso scegliere alcune varianti delle regole. Ad esempio giocare 3x3 oppure 4x4; oppure scegliere fra Tris e Forza Quattro.
L'elaborato viene giudicato in base a:
-
Rispondenza ai requisiti
-
Leggibilità e manutenibilità del codice
-
Usabilità dell'interfaccia utente.
-
Semplicità: non spendete energie a implementare cose non richieste: è sufficiente implementare i requisiti qui elencati.
-
L'elaborato vale di più se contiene test unitari. Non è necessario implementare la persistenza delle partite; è accettabile che il servizio perda memoria delle partite passate quando viene spento. Punti extra se viene implementata la persistenza per mezzo di database.
Suggerimenti per l'interfaccia utente: