Version of Robotron arcade game using LPC1768, a Gameduino shield, a serial EEPROM (for high scores), two microswitch joysticks and two buttons plus a box to put it in. 20 levels of mayhem.

Dependencies:   25LCxxx_SPI CommonTypes Gameduino mbed

Committer:
RichardE
Date:
Mon Jun 17 15:10:43 2013 +0000
Revision:
18:70190f956a24
Parent:
8:82d88f9381f3
Improved response to button 1 when entering high scores (HighScoreEntry.cpp).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RichardE 8:82d88f9381f3 1 /*
RichardE 8:82d88f9381f3 2 * SOURCE FILE : ExplosionManager.h
RichardE 8:82d88f9381f3 3 *
RichardE 8:82d88f9381f3 4 * Responsible for managing a collection of explosions.
RichardE 8:82d88f9381f3 5 *
RichardE 8:82d88f9381f3 6 */
RichardE 8:82d88f9381f3 7
RichardE 8:82d88f9381f3 8 #ifndef ExplosionManagerIncluded
RichardE 8:82d88f9381f3 9
RichardE 8:82d88f9381f3 10 #define ExplosionManagerIncluded
RichardE 8:82d88f9381f3 11
RichardE 8:82d88f9381f3 12 #include "Types.h"
RichardE 8:82d88f9381f3 13 #include "ExplosionObject.h"
RichardE 8:82d88f9381f3 14
RichardE 8:82d88f9381f3 15 class ExplosionManager {
RichardE 8:82d88f9381f3 16
RichardE 8:82d88f9381f3 17 public :
RichardE 8:82d88f9381f3 18
RichardE 8:82d88f9381f3 19 // An instance of this class.
RichardE 8:82d88f9381f3 20 static ExplosionManager Instance;
RichardE 8:82d88f9381f3 21
RichardE 8:82d88f9381f3 22 enum {
RichardE 8:82d88f9381f3 23 MaxExplosions = 10,
RichardE 8:82d88f9381f3 24 };
RichardE 8:82d88f9381f3 25
RichardE 8:82d88f9381f3 26 /***************/
RichardE 8:82d88f9381f3 27 /* CONSTRUCTOR */
RichardE 8:82d88f9381f3 28 /***************/
RichardE 8:82d88f9381f3 29 // Pass index of first sprite used for explosions in fsn.
RichardE 8:82d88f9381f3 30 ExplosionManager( UInt8 fsn );
RichardE 8:82d88f9381f3 31
RichardE 8:82d88f9381f3 32 /**************/
RichardE 8:82d88f9381f3 33 /* DESTRUCTOR */
RichardE 8:82d88f9381f3 34 /**************/
RichardE 8:82d88f9381f3 35 ~ExplosionManager();
RichardE 8:82d88f9381f3 36
RichardE 8:82d88f9381f3 37 /**************************/
RichardE 8:82d88f9381f3 38 /* START AN EXPLOSION OFF */
RichardE 8:82d88f9381f3 39 /**************************/
RichardE 8:82d88f9381f3 40 // Pass start coordinates in x and y (NOT pixel coordinates).
RichardE 8:82d88f9381f3 41 // Returns pointer to an ExplosionObject if it was started successfully or NULL if
RichardE 8:82d88f9381f3 42 // no more explosions are available at the moment.
RichardE 8:82d88f9381f3 43 ExplosionObject *StartExplosion( Int16 x, Int16 y );
RichardE 8:82d88f9381f3 44
RichardE 8:82d88f9381f3 45 /***********************/
RichardE 8:82d88f9381f3 46 /* KILL ALL EXPLOSIONS */
RichardE 8:82d88f9381f3 47 /***********************/
RichardE 8:82d88f9381f3 48 void KillAllExplosions( void );
RichardE 8:82d88f9381f3 49
RichardE 8:82d88f9381f3 50 /**********************************************/
RichardE 8:82d88f9381f3 51 /* GET ARRAY OF POINTERS TO EXPLOSION OBJECTS */
RichardE 8:82d88f9381f3 52 /**********************************************/
RichardE 8:82d88f9381f3 53 // Returns an array of pointers containing MaxExplosions items.
RichardE 8:82d88f9381f3 54 GameObject **GetExplosions( void ) {
RichardE 8:82d88f9381f3 55 return explosionPointers;
RichardE 8:82d88f9381f3 56 }
RichardE 8:82d88f9381f3 57
RichardE 8:82d88f9381f3 58 private :
RichardE 8:82d88f9381f3 59
RichardE 8:82d88f9381f3 60 // Sprite number for first sprite used for explosions.
RichardE 8:82d88f9381f3 61 UInt8 firstSpriteNumber;
RichardE 8:82d88f9381f3 62
RichardE 8:82d88f9381f3 63 // Bank of explosion objects.
RichardE 8:82d88f9381f3 64 ExplosionObject explosions[ MaxExplosions ];
RichardE 8:82d88f9381f3 65
RichardE 8:82d88f9381f3 66 // Pointers to explosion objects.
RichardE 8:82d88f9381f3 67 GameObject *explosionPointers[ MaxExplosions ];
RichardE 8:82d88f9381f3 68
RichardE 8:82d88f9381f3 69 };
RichardE 8:82d88f9381f3 70
RichardE 8:82d88f9381f3 71 #endif
RichardE 8:82d88f9381f3 72
RichardE 8:82d88f9381f3 73 /* END of ExplosionManager.h */
RichardE 8:82d88f9381f3 74