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