La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Snake 2D Snake 2D Esame: Elementi Grafica Digitale Anno accademico: 2005/06 Studente: Gianluca Racano Docente: Matjaž Hmeljak.

Presentazioni simili


Presentazione sul tema: "Snake 2D Snake 2D Esame: Elementi Grafica Digitale Anno accademico: 2005/06 Studente: Gianluca Racano Docente: Matjaž Hmeljak."— Transcript della presentazione:

1 Snake 2D Snake 2D Esame: Elementi Grafica Digitale Anno accademico: 2005/06 Studente: Gianluca Racano Docente: Matjaž Hmeljak

2 Il gioco… Snake é un gioco a livelli,in questo caso 7,di difficoltà Snake é un gioco a livelli,in questo caso 7,di difficoltà crescente. Scopo del gioco é far crescere il serpente,di lunghezza iniziale 5,mangiando crescente. Scopo del gioco é far crescere il serpente,di lunghezza iniziale 5,mangiando le mele che in modo casuale vengono create e visualizzate sul campo di gioco. le mele che in modo casuale vengono create e visualizzate sul campo di gioco. Nel mangiare le mele il serpente muovendosi non può toccare se stesso, i bordi del campo di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino. Nel mangiare le mele il serpente muovendosi non può toccare se stesso, i bordi del campo di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.

3 Struttura del Programma… (Caratteristiche principali) Il gioco è realizzato su 7 livelli… Sul codice.. 1. Buildlevels() -> costruisce i singoli livelli 2. glNewList(..)-glEndList(..) ->liste di visualizzazione a)accetta 2 parametri:Gluint list,GLenum mode (modo compilazione) a)accetta 2 parametri:Gluint list,GLenum mode (modo compilazione) b)Uso tante liste di visualizz. quanti i livelli da realizzare b)Uso tante liste di visualizz. quanti i livelli da realizzare c)li visualizzo nella display() tramite listruzione glCallList() c)li visualizzo nella display() tramite listruzione glCallList() vantaggio: Gli oggetto che configurano ogni livello,essendo stati costruiti diretta vantaggio: Gli oggetto che configurano ogni livello,essendo stati costruiti diretta mente nella lista,OpenGL non deve calcolare come costruirli, in quanto mente nella lista,OpenGL non deve calcolare come costruirli, in quanto precostruiti in memoria, e dunque può visualizzarli subito sullo schermo precostruiti in memoria, e dunque può visualizzarli subito sullo schermo ---> - lavoro al processore,programma + veloce ---> - lavoro al processore,programma + veloce

4 Struttura del Programma… (Caratteristiche principali) Il serpente muovendosi non può toccare se stesso, i bordi del campo Il serpente muovendosi non può toccare se stesso, i bordi del campo di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.. di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.. Sul codice.. 1. Il campo di gioco per ogni livello è stato realizzato utilizzando un array a tre dimensioni: map[NUM_LEVELS][WEIGTH][HIGTH] dimensioni: map[NUM_LEVELS][WEIGTH][HIGTH] a) NUM_LEVELS: rappresenta ogni livello a) NUM_LEVELS: rappresenta ogni livello b) WEIGTH, HIGTH :rappresentano le dimensioni del campo di gioco(48x64) b) WEIGTH, HIGTH :rappresentano le dimensioni del campo di gioco(48x64) 2. Ogni oggetto rappresentato sul campo di gioco(ostacoli,mele,serpente) è stato realizzato mediante figure geometriche(rettangoli,cerchi) realizzato mediante figure geometriche(rettangoli,cerchi) RETTANGOLI ostacolo CERCHI serpente,mela - buildRect(int x, int y, int w, int h, int level, int value); -buildCircle(); - buildRect(int x, int y, int w, int h, int level, int value); -buildCircle(); -drawRect(float x,float y,float w,float h); -drawCircle(double x,double y); -drawRect(float x,float y,float w,float h); -drawCircle(double x,double y);

5 Struttura del Programma… (Caratteristiche principali) Il serpente muovendosi non può toccare se stesso, i bordi del campo Il serpente muovendosi non può toccare se stesso, i bordi del campo di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.. di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.. Sul codice.. 1. buildRect(int x, int y, int w, int h, int level, int value); 2. Importanti i parametri: int level,int value 3. value può assumere tre distinti valori 1,0 o 2: 1 rappresenta posizione di un ostacolo 1 rappresenta posizione di un ostacolo 2 rappresenta posizione del serpente 2 rappresenta posizione del serpente 0 rappresenta posizione libera su cui il serpente può muoversi 0 rappresenta posizione libera su cui il serpente può muoversi Quindi il campo di gioco a questo punto può esser rappresentato Come una griglia di 1,0 e 2.

6 Struttura del Programma… (Caratteristiche principali) Il serpente muovendosi non può toccare se stesso, i bordi del campo Il serpente muovendosi non può toccare se stesso, i bordi del campo di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.. di gioco e gli eventuali ostacoli,dei muri,presenti sul suo cammino.. Sul codice.. (es. struttura livello 2):

7 Vediamo ora il codice…


Scaricare ppt "Snake 2D Snake 2D Esame: Elementi Grafica Digitale Anno accademico: 2005/06 Studente: Gianluca Racano Docente: Matjaž Hmeljak."

Presentazioni simili


Annunci Google