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
LevelNormal.h
- Committer:
- RichardE
- Date:
- 2013-06-09
- Revision:
- 10:bfa1c307c99d
- Parent:
- 9:fa7e7b37b632
- Child:
- 12:81926431fea7
File content as of revision 10:bfa1c307c99d:
/* * SOURCE FILE : LevelNormal.h * * Definition of class LevelNormal. * Base class for all "normal" levels. * i.e. Levels that are not special attract modes * but have enemies who are trying to kill you * and so on. * */ #ifndef LevelNormalDefined #define LevelNormalDefined #include "Level.h" #include "LevelData.h" #include "LevelDescriptor.h" #include "ExplosionManager.h" class LevelNormal : public Level { public : /***************/ /* CONSTRUCTOR */ /***************/ // Pass pointer to level descriptor data in data parameter. LevelNormal( const UInt8 *data ); /**************/ /* DESTRUCTOR */ /**************/ virtual ~LevelNormal(); /**************/ /* PLAY LEVEL */ /**************/ // Returns code indicating how level ended. virtual LevelExitCode Play( void ); protected : /*************/ /* PLAY LOOP */ /*************/ // Returns code indicating how level ended. // This method should be called from the Play method after the // level data has been initialised and the return value returned // by the Play method. virtual LevelExitCode PlayLoop( void ); private : // Data defining the level. LevelData dataForLevel; // Descriptor array of bytes. const UInt8 *descriptorData; // Current instance being processed. static LevelNormal *currentInstance; /********************/ /* INITIALISE LEVEL */ /********************/ // Pass pointer to Gameduino to draw on in gd. void InitialiseLevel( Gameduino *gd ); /**********************************/ /* DRAW SCORE AND NUMBER OF LIVES */ /**********************************/ void DrawScoreAndLives( void ); /******************/ /* DRAW THE LEVEL */ /******************/ void DrawLevel( void ); /************************************************/ /* HANDLE COLLISIONS BETWEEN HUMANS AND ENEMIES */ /************************************************/ // Pass index of human in level's humans array in humanIndex. // Pass sprite number of sprite that it hit in spriteNumber. static void HandleHumanCollision( UInt8 humanIndex, UInt8 spriteNumber ); /********************************************************/ /* HANDLE COLLISIONS BETWEEN PLAYER BULLETS AND ENEMIES */ /********************************************************/ // Pass index of bullet in player's bullet array in bulletIndex. // Pass sprite number of sprite that it hit in spriteNumber. static void HandleBulletCollision( UInt8 bulletIndex, UInt8 spriteNumber ); /*********************************************************/ /* CHECK FOR COLLISIONS BETWEEN PLAYER AND OTHER OBJECTS */ /*********************************************************/ // Pass pointer to a flag that will be set true if player is dead in isDead parameter. void CheckPlayerCollisions( bool *isDead ); /***********************************************************************************/ /* WAIT UNTIL SLOT FREE FOR A NEW SOUND, PLAY IT AND WAIT FOR ALL SOUNDS TO FINISH */ /***********************************************************************************/ // Pass sound to play in soundToPlay parameter. void PlaySoundAndWait( const UInt8 *soundToPlay ); }; #endif /* END of LevelNormal.h */