Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella...

14
Progetto Programmazione III e Progetto Programmazione III e Laboratorio Laboratorio A.A. 2012/2013 A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano

Transcript of Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella...

Page 1: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Progetto Programmazione III e LaboratorioProgetto Programmazione III e LaboratorioA.A. 2012/2013A.A. 2012/2013

Docente: Candidati:Raffaele Montella Valentina Scuotto Matr: 0124/67

Antonio Ugliano Matr: 0124/11

Page 2: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Beer Menu è un videogame 2D, sviluppato in linguaggio Java.Beer Menu è un videogame 2D, sviluppato in linguaggio Java.

L’idea di fondo è stata quella di realizzare un social-game semplice e L’idea di fondo è stata quella di realizzare un social-game semplice e divertente. divertente.

Lo scopo del gioco è saziare il personaggio raccogliendo degli oggetti Lo scopo del gioco è saziare il personaggio raccogliendo degli oggetti in caduta, ciascuno dei quali avente caratteristiche diverse.in caduta, ciascuno dei quali avente caratteristiche diverse.

Durante la partita bisogna monitorare lo stato di due barre indicatrici Durante la partita bisogna monitorare lo stato di due barre indicatrici  (Food - Drink) che rappresentano rispettivamente la sazietà e il tasso  (Food - Drink) che rappresentano rispettivamente la sazietà e il tasso

alcolemico del personaggio. Per vincere bisogna fare in modo da alcolemico del personaggio. Per vincere bisogna fare in modo da raggiungere il 90% in entrambe le barre senza oltrepassare tale raggiungere il 90% in entrambe le barre senza oltrepassare tale

limite; nel qual caso la partita sarà persa. Raccogliendo degli oggetti  limite; nel qual caso la partita sarà persa. Raccogliendo degli oggetti  bonus è possibile riequilibrare lo stomaco. Durante la partita, bonus è possibile riequilibrare lo stomaco. Durante la partita,

verranno mostrati all’utente dei messaggi, che rappresentano la parte verranno mostrati all’utente dei messaggi, che rappresentano la parte social del gioco, consentendogli di interagire con le altre persone in social del gioco, consentendogli di interagire con le altre persone in sala (Un esempio può essere quello di passare il proprio drink alla sala (Un esempio può essere quello di passare il proprio drink alla

persona accanto).persona accanto).

Page 3: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Menu principaleMenu principale

Attraverso i pulsanti laterali è possibile visualizzare i punteggi, mostrare le istruzioni e, dopo aver inserito il proprio nome, avviare il gioco.

Page 4: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Il personaggio può essere spostato dall’utente utilizzando le frecce direzionali della tastiera.

Per fare tutto ciò la classe MyFrame implementa l’interfaccia KEYLISTENER .

Page 5: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Alla pressione di uno dei tasti, viene generato un evento che viene gestito dal metodo keypressed, consentendo controllare il movimento

del personaggio.

Page 6: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

SpriteSprite

Page 7: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

CollisionCollision

Le collisioni tra gli oggetti cadenti ed il personaggio sono accertate mediante controlli manuali sulle coordinate cartesiane degli stessi.

Page 8: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

ActionActionAl verificarsi della collisione, ciascun oggetto reagisce in maniera diversa secondo l’implementazione del proprio metodo action (Overriding).

Page 9: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

La vera e propria parte sociale del gioco è realizzata mediante il metodo stomachControl, diverso in ogni oggetto cadente. Al verificarsi di particolari condizioni inerenti lo stato delle progress bar vengono mostrati all’utente dei messaggi personalizzati che gli permettono d’interagire con le altre persone in sala.

Page 10: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Esempi messaggiEsempi messaggi

Page 11: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

In caso di game-over viene mostrata una finestra contenente la lista degli oggetti raccolti durante la partita, mentre in caso di vittoria, viene invece visualizzata la classifica dei punteggi aggiornata.

Page 12: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Future implementazioniFuture implementazioni

Aggiunta di nuovi oggetti; Aggiunta di nuovi oggetti;

Sviluppo del gioco su piattaforma Android;Sviluppo del gioco su piattaforma Android;

Supporto Microsoft Kinect;Supporto Microsoft Kinect;

Page 13: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

Fonti consultateFonti consultate

Lezioni frontali del professore Raffaele MontellaLezioni frontali del professore Raffaele Montella

WikipediaWikipedia

GoogleGoogle

Thinking in JavaThinking in Java

Core Java 2. Vol. 2: Tecniche AvanzateCore Java 2. Vol. 2: Tecniche Avanzate

Page 14: Progetto Programmazione III e Laboratorio A.A. 2012/2013 Docente: Candidati: Raffaele Montella Valentina Scuotto Matr: 0124/67 Antonio Ugliano Matr: 0124/11.

FINE PRESENTAZIONEFINE PRESENTAZIONE