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

Slides:



Advertisements
Presentazioni simili
Map & Go℠ Creazione e utilizzo di Mappe Offline
Advertisements

Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
CALCOLO COMBINATORIO: DISPOSIZIONI
Sottoprogrammi: funzioni e procedure
Dati strutturati A. Ferrari.
Algoritmi notevoli.
Estendere i linguaggi: i tipi di dato astratti
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità G1 Dati strutturati.
Ripasso R1 Dati strutturati.
Array multidimensionali
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Introduzione al linguaggio C
Un nuovo tipo di dati Gli array.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2000/2001.
Simulazione del lancio di una moneta
Programmazione Procedurale in Linguaggio C++
Funzioni definite dall’utente
Gerarchie di Oggetti Tutti i sistemi avanzati di grafica (PHIGS, OpenGL, DirectDraw, …) permettono di definire un modello come una gerarchia di oggetti.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 8 Aprile 2013 Marco D. Santambrogio – Gianluca Durelli -
Lab X: Battaglia Navale
Scuola interateneo di specializzazione Anno Accademico 2005/2006
Texture Mapping.
Diffrazione di Fresnel
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
Entrambe le competenze possono essere sviluppate…
CORSO DI PROGRAMMAZIONE II
memoria gestita staticamente:
Lab. Calc. 2005/06 Ereditarietà. Lab. Calc. 2005/06 Scopo di questa lezione: Imparare a creare nuove classi ereditando da classi già esistenti. Capire.
Primi Elementi di Programmazione in C++
l' algoritmo di Bresenham
Introduzione alla grafica digitale 2005,6,7,8,9,.. Matjaž Hmeljak.
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
Esercizi C su array e matrici
Alessandro Tanasi - 1 Snake Alessandro Tanasi Gioco dello Snake.
Le funzioni.
Informatica giuridica Hardware e software: glossario Lucio Maggio Anno Accademico 2001/2002.
Interferenza due o piu` onde (con relazione di fase costante)
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P.
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Storia del mio rapporto con la geometria
Elementi di Informatica di base
1 Gea Bilancio Soluzione per Commercialisti e Aziende.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Esercizi su File e Liste
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Display list e scene graph Daniele Marini Dipartimento di Informatica e Comunicazione.
Display list e picking Daniele Marini Corso Di Programmazione Grafica e Laboratorio.
Primitive OpenGL Corso di Programmazione Grafica e Laboratorio Daniele Marini.
Strutture dati elementari
CORSO DI PROGRAMMAZIONE II Lezione 22
Qualche notizia indispensabile per cominciare Ogni oggetto ha una serie di variabili già al suo interno. All'inizio tutte le variabili sono = 0 SPEED :
Vettori (a una dimensione)
Computer Graphics Marco Tarini Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Corso di Laurea in Scienze e Tecniche psicologiche
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Laboratorio di Linguaggi... altre D O M A N D E ! Marco Tarini Università dell’Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Grafica interattiva a.a. 2003/2004 Docente: Prof. Enrico Puppo Laboratorio: Dott. Paola Magillo.
Didattica speciale : codici del linguaggio logico e matematico
GEOGEBRA PER LA SCUOLA GEOGEBRA PER LA SCUOLA CORSO INTRODUTTIVO A GEOGEBRA Sergio Zoccante Maria Angela Chimetto Padova, 24 marzo GeoGebra Institute.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi sui dati strutturati 13 Tipi di dati strutturati.
Snake 2D Esame: Elementi Grafica Digitale Anno accademico: 2005/06
Transcript della presentazione:

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

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.

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

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);

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.

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):

Vediamo ora il codice…