PDA

View Full Version : [C++] Programmare pacman con allegro: domande varie


Dani88
27-03-2008, 18:47
Mi sto apprestando un po come esercizio per capire meglio le classi e un po come sfida personale, a programmare una versione molto semplice di pacman con la libreria allegro.h :D
Sono anche riuscito a gestire le collisioni tra sprite correttamente ma ora ho un piccolo problema:ho creato una classe GenericSprite con tutti i metodi che servono, 3 sue sottoclassi chiamate
Pacman, Enemy, Wall
La terza come è facile intuire è quella che gestisce gli sprite di tipo wall, ovvero dei tiles (mattonelle) di 32x32 che andrano a comporre i muri.
A questo proposito vorrei sapere:
1) se devo creare un muro di 20 tiles, devo fare un array di oggetti di 20 elementi? In tal caso posso usare sempre il costruttore con parametri che gli ho impostato? (incrementando ad esempio la x di 32 in modo che disegni uno dopo l'altro i quadratini)

2)le collisioni le gestisco tramite metodo della classe GenericSprite che prende come parametro, oltre all'oggetto che lo chiama, un altro oggetto di tipo GenericSprite, ad es

GenericSprite Pacman;
Pacman.Collision(Ghost1) //per controllare ad es la collisione con un fantasmino
// se avviene la collisione mette a true il collisionFlag

Quindi dovrei chiamare il metodo per tutti i tiles che creo? Xkè ciò rappresenterebbe un po un problema dato che alla fine saranno diciamo più di 100... :help: :help: :cry:

^TiGeRShArK^
27-03-2008, 19:33
:mbe:
ma i tiles non dovrebbero esistere nella logica del gioco.
imho basterebbe disegnarli nello sfondo e sovrapporli a delle Region su cui poi andrai a calcolare le collisioni.
In questo modo avrai delle region + grandi e in numero MOLTO minore.

Dani88
27-03-2008, 20:13
cioè tu dici, invece di creare 20 tiles e x ognuno la collisione creo un bounding box di 32x640 e gestisco la collisione con quello?
Calcola che sono abbastanza all'inizio quindi ogni dritta/consiglio è graditissimo :D
Thanx ancora :D