################################################################################ Sebastiano Gaggiano 4E Square STRUTTURA - Background.cs - Game1.cs - Oggetto.cs - Scenario.cs - Square.cs 5 Classi principali 625 Righe di codice ################################################################################ 1 - BACKGROUND ################################################################################ Carica e gestisce tutti gli elementi del background dinamico, prelevando i diversi parametri dalla lista contenuta nella classa Scenario. Oggetti: - Nuvole: semplici oggetti di sfondo. Non hanno alcun tipo di interazione con il giocatore, non collidono e non possono essere raccolte. - Ostacoli: punte acuminate che provocano la morte del quadrato che cambia texture in un'immagine nulla trasparente (opacità 0%). Vengono generate a random in 5 tipi: 1 punta (viola), 2 punte(rosa), 3 punte (arancioni), 4 punte (azzurro chiaro), 5 punte (verde chiaro). Dopo aver saltato un determinato numero di ostacoli e raggiunta una percentuale di completamento del 100%, il gioco passa allo stato VITTORIA. - Punti: pallini colorati che donano punti al giocatore se raccolti. In realtà non scompaiono alla collisione con il quadrato, ma tramite un contatore che visualizza il punteggio è possibile verificare l'ottenimento dei punti stessi. Questi ultimi vengono attribuiti in base al tempo di collisione. ################################################################################ 2 - GAME ################################################################################ Ordinamento in base alle regioni: - INITIALIZE Inizializza una serie di variabili/costanti. Una funzione di collisione verifica il contatto tra 2 oggetti nell'origine. - LOAD CONTENT Caricate le immagini PNG relative a: quadrato in stato attivo, quadrato morto (nullo), immagine di sfondo statico, immagini di pausa, immagine splash iniziale. - UNLOAD CONTENT Non utilizzato. - FUNZIONI PERSONALI Funzione "Disegnatore" prelevata direttamente dall'esempio Spazio, in riferimento alla classe "Oggetto". - UPDATE Gestisci i vari stati del gioco, ovvero pre-gioco (splash), gioco, pausa, vittoria o gameover. ################################################################################ 3 - SCENARIO ################################################################################ Contiene la lista di elementi e variabili necessarie ed utilizzate soprattutto in "Background". Gestisce le collisioni con gli ostacoli e con i punti. Gestisce l'aumento percentuale del gioco in base al numero di ostacoli saltati. Provvede a disegnare l'oggetto. ################################################################################ 4 - SQUARE ################################################################################ Classe relativa al protagonista del gioco: il quadrato. Gestisce tutti i parametri di moto dello stesso: velocità sulle varie assi, angolo, gravità, [...] Imposta l'altezza da terra del quadrato in modo che combaci con quello dello sfondo statico appositamente realizzato. Gestisce la pressione dei tasti ed assegna i seguenti comandi: - SALTO: eseguito con [SPAZIO] oppure [FRECCIASU] - ACCELERA: eseguito con [FRECCIADX] - DECELERA: eseguito con [FRECCIASX] ################################################################################ Possibili miglioramenti da apportare: - Introdurre un menù più elaborato con la possibilità di selezionare molteplici opzioni - Possibilità di cambiare livello/sfondo da parte del giocatore, eventualmente tramite il menù sopracitato - Aggiunta di suoni - Aggiunta di un sistema di vite? - Possibilità di ricominciare la partita premendo un tasto nella schermata di fine gioco (vittoria o gameover che sia) ################################################################################ Risorse utilizzate: - Gioco di Lobertini (2010) - Gioco Spazio d'esempio affrontato in laboratorio - stackoverflow.com - Photoshop - Google Now Wallpapers - Stock Cloud Images ################################################################################ Data di inizio: 27.04.13 Data di completamento BETA: 21.05.13 Data di aggiornamento: // ################################################################################ Square.2013