Costruzione di interfacce aa 04/05

Esame Secondo Appello

V1.02 - 2/2/05 23:10


L'esame consiste nel completamento del gioco visto a lezione; partite dai sorgenti che vi metto a disposizione ( MM_V2.1.zip aggiornati il 2/2/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 domenica 13/2/05 ore 23:59

Entro il  10/2/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  un breve documento testo (una paginetta o due) in cui elencate le migliorie fatte all'editor ed al player durante lo svolgimento del progetto. Lo zip deve contenere la directory MM; non ci devono essere eseguibili;  gli eseguibili una volta compilati devono funzionare nella directory MM (come nei .pro che vi distribuisco) 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). Controllate che abbiate incluso nello zip tutto il necessario (mi aspetto di fare semplicemente qmake, nmake clean, nmake e che tutto funzioni).

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 circa < 1mb. State particolarmente attenti a non avere path assoluti (eccetto quelli alle lib sotto c:\code) in nessun file. 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 open source e portabili);

Player

In SDL windowed 800x600; qt deve essere usato solo per funzioni di 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.

Nel player dovete,

Editor

Realizzato usando QT per gestire l`interfaccia utente. Partire da quello fornitovi; ripulire e risistemare l'interfaccia (rimozione di tutti i bachetti che trovate).

Aggiungere le seguenti funzionalità: