Costruzione di interfacce aa 04/05

Esame I appello

V1.05 - 14/1/05 11:15


L'esame consiste nel completamento del gioco visto a lezione; partite dai sorgenti che vi metto a disposizione(  MM_V1.1.zip aggiornati il 13/1/05) e procedete come indicato nel resto del documento. L'esame va svolto in gruppi di una, due o tre persone. Gli asterischi indicano tutte le funzionalità da implementare a seconda del numero di persone del gruppo:

Scadenza 21/1/05 ore 24:00

Entro il  18/1/05 i gruppi che intendono consegnare il progetto, devono comunicarlo con una mail al docente (e non al gruppo); soggetto della mail [CI][Esame] Iscrizione; contenuto della mail, cognome, nome, matricola e login su yahoo dei componenti del gruppo.

Il forum del corso sarà considerato il luogo principale per tutte le comunicazioni (chiarimenti e modifiche alle specifiche e sorgenti distribuiti).


Modalità di consegna

Per posta elettronica con un mail con soggetto "[CI] Esame - Consegna". La mail deve avere come attachment uno zip contenente i sorgenti del gioco strutturati come nella distribuzione, i due esegubili, e un breve documento testo (una paginetta o due) in cui elencate le migliorie fatte all'editor ed al player durante la ripulitura. Lo zip deve contenere anche la directory MM e gli eseguibili devono stare (e funzionare) in tale directory ed assumere che i livelli stiano nella dir levels, mentre texture e dati aggiuntivi stiano nella dir data. Assumete che glew e sdl siano al solito nella dir c:\code (come nei .pro che vi distribuisco)

Il nome dello Zip deve essere dato dalla giustapposizione dei cognomi in ordine alfabetico dei partecipanti al gruppo con la prima iniziale del cognome di ogni persona in maiuscolo (e.g. CaioSempronioTizio.zip PallinoPinco.zip Serbellonimazzantiviendalmare.zip). Lo zip non deve contenere NESSUN file che possa essere generato automaticamente a partire dal .pro (e.g. no .obj, .ilk, vprj, .sln, .pdb, moc_*, Makefile, ecc.) e dovrebbe essere < 1mb. Se avete particolari esigenze per texture e cubemap e proprio non ce la fate a stare in questi limiti fatemelo sapere tramite forum. 

Note: per compilare avete bisogno di due librerie (entrambe opensource e portabili);

Player

In SDL a tutto schermo; qt deve essere usato solo per loading (img e xml) e funzioni utlity da console ed assolutamente non per dialoghi vari (ad es. non usate il file open dialog di qt nel player).

Durante il gioco si deve controllare la pallina con il mouse e la vista con i tasti cursore (left-right rotazione, up-down inclinazione, pageup pagedown zoom sulla pallina). La camera durante il gioco deve essere sempre centrata sulla pallina (e di conseguenza anche tutte le rotazioni e zoom). Il movimento della pallina viene trasmesso tramite azioni di drag del mouse. Ogni azione di drag definisce una retta nello spazio dello schermo, la forza impressa alla pallina deve essere nella direzione corrispondente a tale retta proiettata sul piano della griglia e l'intensità della forza deve essere proporzionale alla lunghezza.

Il player deve:

Editor

Realizzato usando QT per gestire l`interfaccia utente. Partire da quello mostrato a lezione; ripulire e risistemare l'interfaccia (miglior disposizione dei widget e rimozione di tutti i bachetti che trovate). Notare che alcune funzionalità implicano cambiamenti nella dinamica del gioco e quindi possono anche coinvolgere il player


Aggiungere le seguenti funzionalità: