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
EnemyFactory.cpp
- Committer:
- RichardE
- Date:
- 2013-06-17
- Revision:
- 18:70190f956a24
- Parent:
- 11:2ddaf46e95cb
File content as of revision 18:70190f956a24:
/* * SOURCE FILE : EnemyFactory.cpp * * Definition of class EnemyFactory. * */ #include "EnemyFactory.h" // Define this for debugging messages. #undef CHATTY #ifdef CHATTY #include "mbed.h" extern Serial pc; #endif // An instance of this class. EnemyFactory EnemyFactory::Instance; /***************/ /* CONSTRUCTOR */ /***************/ EnemyFactory::EnemyFactory() : enemyCount( 0UL ) { } /**************/ /* DESTRUCTOR */ /**************/ EnemyFactory::~EnemyFactory() { } /*****************/ /* MAKE AN ENEMY */ /*****************/ // Pass enemy type in et. // Returns a newly created object or NULL on failure. EnemyObject* EnemyFactory::MakeEnemy( EnemyType et ) { EnemyObject *enemy; switch( et ) { case Grunt : enemy = new GruntObject(); break; case BlueMeany : enemy = new BlueMeanyObject(); break; case Crusher : enemy = new CrusherObject(); break; case Brain : enemy = new BrainObject(); break; case BrainBullet : enemy = new BrainBulletObject(); break; case Mutant : enemy = new MutantObject(); break; default : enemy = (EnemyObject*)NULL; break; } if( enemy != (EnemyObject*)NULL ) { enemyCount++; #ifdef CHATTY pc.printf( "Enemy type %d created. %lu enemies exist.\r\n", (int)enemy->GetEnemyType(), enemyCount ); #endif } return enemy; } /*******************/ /* DELETE AN ENEMY */ /*******************/ // Pass pointer to enemy to delete. // ONLY USE THIS ON OBJECTS CREATED USING MakeEnemy method. void EnemyFactory::DeleteEnemy( EnemyObject *enemy ) { enemyCount--; #ifdef CHATTY pc.printf( "Enemy type %d deleted. %lu enemies exist.\r\n", (int)enemy->GetEnemyType(), enemyCount ); #endif delete enemy; }