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:
Sat Jun 08 17:51:33 2013 +0000
Revision:
8:82d88f9381f3
Child:
13:50779b12ff51
Enemies, humans, explosions, collisions all working now. Sound is still missing and there are only 2 levels.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RichardE 8:82d88f9381f3 1 /*
RichardE 8:82d88f9381f3 2 * SOURCE FILE : BlueMeanyObject.h
RichardE 8:82d88f9381f3 3 *
RichardE 8:82d88f9381f3 4 * Represents the BlueMeany enemy object.
RichardE 8:82d88f9381f3 5 *
RichardE 8:82d88f9381f3 6 */
RichardE 8:82d88f9381f3 7
RichardE 8:82d88f9381f3 8 #ifndef BlueMeanyObjectIncluded
RichardE 8:82d88f9381f3 9
RichardE 8:82d88f9381f3 10 #define BlueMeanyObjectIncluded
RichardE 8:82d88f9381f3 11
RichardE 8:82d88f9381f3 12 #include "EnemyObject.h"
RichardE 8:82d88f9381f3 13 #include "SpriteImageId.h"
RichardE 8:82d88f9381f3 14 #include "FrameCounter.h"
RichardE 8:82d88f9381f3 15
RichardE 8:82d88f9381f3 16 class BlueMeanyObject : public EnemyObject {
RichardE 8:82d88f9381f3 17
RichardE 8:82d88f9381f3 18 public :
RichardE 8:82d88f9381f3 19
RichardE 8:82d88f9381f3 20 /***************/
RichardE 8:82d88f9381f3 21 /* CONSTRUCTOR */
RichardE 8:82d88f9381f3 22 /***************/
RichardE 8:82d88f9381f3 23 BlueMeanyObject() :
RichardE 8:82d88f9381f3 24 hVelocity( 0 ),
RichardE 8:82d88f9381f3 25 vVelocity( 0 )
RichardE 8:82d88f9381f3 26 {
RichardE 8:82d88f9381f3 27 }
RichardE 8:82d88f9381f3 28
RichardE 8:82d88f9381f3 29 /**************/
RichardE 8:82d88f9381f3 30 /* DESTRUCTOR */
RichardE 8:82d88f9381f3 31 /**************/
RichardE 8:82d88f9381f3 32 virtual ~BlueMeanyObject() {
RichardE 8:82d88f9381f3 33 }
RichardE 8:82d88f9381f3 34
RichardE 8:82d88f9381f3 35 /*****************************/
RichardE 8:82d88f9381f3 36 /* GET TYPE OF ENEMY THIS IS */
RichardE 8:82d88f9381f3 37 /*****************************/
RichardE 8:82d88f9381f3 38 // Returns enemy type.
RichardE 8:82d88f9381f3 39 virtual EnemyType GetEnemyType( void ) {
RichardE 8:82d88f9381f3 40 return BlueMeany;
RichardE 8:82d88f9381f3 41 }
RichardE 8:82d88f9381f3 42
RichardE 8:82d88f9381f3 43 /*******************************************************/
RichardE 8:82d88f9381f3 44 /* GET NUMBER OF POINTS AWARDED FOR KILLING THIS ENEMY */
RichardE 8:82d88f9381f3 45 /*******************************************************/
RichardE 8:82d88f9381f3 46 // Returns number of points.
RichardE 8:82d88f9381f3 47 virtual UInt8 GetPoints( void ) {
RichardE 8:82d88f9381f3 48 return 0x10; // BCD!
RichardE 8:82d88f9381f3 49 }
RichardE 8:82d88f9381f3 50
RichardE 8:82d88f9381f3 51 /************************/
RichardE 8:82d88f9381f3 52 /* MOVE THE GAME OBJECT */
RichardE 8:82d88f9381f3 53 /************************/
RichardE 8:82d88f9381f3 54 virtual void ProtectedMove( void );
RichardE 8:82d88f9381f3 55
RichardE 8:82d88f9381f3 56 /************************/
RichardE 8:82d88f9381f3 57 /* DRAW THE GAME OBJECT */
RichardE 8:82d88f9381f3 58 /************************/
RichardE 8:82d88f9381f3 59 // This is only called after it has been established that the
RichardE 8:82d88f9381f3 60 // game object is visible.
RichardE 8:82d88f9381f3 61 virtual void Draw( Gameduino *gd ) {
RichardE 8:82d88f9381f3 62 Gameduino::Rotation transform = ( Xco < chaseObject->Xco ) ? Gameduino::FlipX : Gameduino::None;
RichardE 8:82d88f9381f3 63 gd->sprite( SpriteNumber, ToPixel( Xco ), ToPixel( Yco ), BlueMeanyImage, 0, transform, BadGuy );
RichardE 8:82d88f9381f3 64 }
RichardE 8:82d88f9381f3 65
RichardE 8:82d88f9381f3 66 private :
RichardE 8:82d88f9381f3 67
RichardE 8:82d88f9381f3 68 enum {
RichardE 8:82d88f9381f3 69 MaxBlueMeanyVelocity = 64,
RichardE 8:82d88f9381f3 70 };
RichardE 8:82d88f9381f3 71
RichardE 8:82d88f9381f3 72 // Horizontal and vertical velocities. NOT in pixels.
RichardE 8:82d88f9381f3 73 Int16 hVelocity, vVelocity;
RichardE 8:82d88f9381f3 74
RichardE 8:82d88f9381f3 75 };
RichardE 8:82d88f9381f3 76
RichardE 8:82d88f9381f3 77 #endif
RichardE 8:82d88f9381f3 78
RichardE 8:82d88f9381f3 79 /* END of BlueMeanyObject.h */