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
LevelCollection.cpp
- Committer:
- RichardE
- Date:
- 2013-06-04
- Revision:
- 0:5fa232ee5fdf
- Child:
- 10:bfa1c307c99d
File content as of revision 0:5fa232ee5fdf:
/* * SOURCE FILE : LevelCollection.cpp * * Definition of class LevelCollection. * */ #include <stdio.h> #include "LevelCollection.h" #include "Level0.h" #include "Level1.h" #include "Level2.h" #if 0 #include "Level3.h" #include "Level4.h" #include "Level5.h" #include "Level6.h" #include "Level7.h" #include "Level8.h" #include "Level9.h" #include "Level10.h" #include "Level10.h" #include "Level11.h" #include "Level12.h" #include "Level13.h" #include "Level14.h" #include "Level15.h" #include "Level16.h" #include "Level17.h" #include "Level18.h" #include "Level19.h" #include "Level20.h" #endif /***************/ /* CONSTRUCTOR */ /***************/ LevelCollection::LevelCollection() { } /**************/ /* DESTRUCTOR */ /**************/ LevelCollection::~LevelCollection() { } #define LEVELCOUNT 3 /************************/ /* GET NUMBER OF LEVELS */ /************************/ UInt8 LevelCollection::GetLevelCount( void ) const { return LEVELCOUNT; } // Individual levels. static Level0 level0; // Not a real level. This is attract mode. static Level1 level1; static Level2 level2; #if 0 static Level3 level3; static Level4 level4; static Level5 level5; static Level6 level6; static Level7 level7; static Level8 level8; static Level9 level9; static Level10 level10; static Level11 level11; static Level12 level12; static Level13 level13; static Level14 level14; static Level15 level15; static Level16 level16; static Level17 level17; static Level18 level18; static Level19 level19; static Level20 level20; #endif // Pointers to all the levels. // If I have got this right then each pointer in the array points to a // Level that is NOT const, but the array itself is const and cannot be modified. static Level* const levels[ LEVELCOUNT ] = { &level0, &level1, &level2, #if 0 &level3, &level4, &level5, &level6, &level7, &level8, &level9, &level10, &level11, &level12, &level13, &level14, &level15, &level16, &level17, &level18, &level19, &level20, #endif }; /***************/ /* GET A LEVEL */ /***************/ // Pass level number in levelNumber. // Returns pointer to level or NULL if no such level. Level *LevelCollection::GetLevel( UInt8 levelNumber ) { if( levelNumber >= LEVELCOUNT ) { return (Level*)NULL; } else { // Fetch pointer to level from array and tag it with the // correct level number before returning it. Level *level = levels[ levelNumber ]; level->LevelNumber = levelNumber; return level; } }