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
GruntObject.h@7:e72691603fd3, 2013-06-08 (annotated)
- Committer:
- RichardE
- Date:
- Sat Jun 08 16:44:54 2013 +0000
- Revision:
- 7:e72691603fd3
Now have grunts wandering around on level 1. They follow the player but since no collision detection logic yet nobody ever gets killed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RichardE | 7:e72691603fd3 | 1 | /* |
RichardE | 7:e72691603fd3 | 2 | * SOURCE FILE : GruntObject.h |
RichardE | 7:e72691603fd3 | 3 | * |
RichardE | 7:e72691603fd3 | 4 | * Represents the grunt enemy object. |
RichardE | 7:e72691603fd3 | 5 | * |
RichardE | 7:e72691603fd3 | 6 | */ |
RichardE | 7:e72691603fd3 | 7 | |
RichardE | 7:e72691603fd3 | 8 | #ifndef GruntObjectIncluded |
RichardE | 7:e72691603fd3 | 9 | |
RichardE | 7:e72691603fd3 | 10 | #define GruntObjectIncluded |
RichardE | 7:e72691603fd3 | 11 | |
RichardE | 7:e72691603fd3 | 12 | #include "EnemyObject.h" |
RichardE | 7:e72691603fd3 | 13 | #include "SpriteImageId.h" |
RichardE | 7:e72691603fd3 | 14 | #include "FrameCounter.h" |
RichardE | 7:e72691603fd3 | 15 | |
RichardE | 7:e72691603fd3 | 16 | class GruntObject : public EnemyObject { |
RichardE | 7:e72691603fd3 | 17 | |
RichardE | 7:e72691603fd3 | 18 | public : |
RichardE | 7:e72691603fd3 | 19 | |
RichardE | 7:e72691603fd3 | 20 | /***************/ |
RichardE | 7:e72691603fd3 | 21 | /* CONSTRUCTOR */ |
RichardE | 7:e72691603fd3 | 22 | /***************/ |
RichardE | 7:e72691603fd3 | 23 | GruntObject() { |
RichardE | 7:e72691603fd3 | 24 | } |
RichardE | 7:e72691603fd3 | 25 | |
RichardE | 7:e72691603fd3 | 26 | /**************/ |
RichardE | 7:e72691603fd3 | 27 | /* DESTRUCTOR */ |
RichardE | 7:e72691603fd3 | 28 | /**************/ |
RichardE | 7:e72691603fd3 | 29 | virtual ~GruntObject() { |
RichardE | 7:e72691603fd3 | 30 | } |
RichardE | 7:e72691603fd3 | 31 | |
RichardE | 7:e72691603fd3 | 32 | /*****************************/ |
RichardE | 7:e72691603fd3 | 33 | /* GET TYPE OF ENEMY THIS IS */ |
RichardE | 7:e72691603fd3 | 34 | /*****************************/ |
RichardE | 7:e72691603fd3 | 35 | // Returns enemy type. |
RichardE | 7:e72691603fd3 | 36 | virtual EnemyType GetEnemyType( void ) { |
RichardE | 7:e72691603fd3 | 37 | return Grunt; |
RichardE | 7:e72691603fd3 | 38 | } |
RichardE | 7:e72691603fd3 | 39 | |
RichardE | 7:e72691603fd3 | 40 | /*******************************************************/ |
RichardE | 7:e72691603fd3 | 41 | /* GET NUMBER OF POINTS AWARDED FOR KILLING THIS ENEMY */ |
RichardE | 7:e72691603fd3 | 42 | /*******************************************************/ |
RichardE | 7:e72691603fd3 | 43 | // Returns number of points. |
RichardE | 7:e72691603fd3 | 44 | virtual UInt8 GetPoints( void ) { |
RichardE | 7:e72691603fd3 | 45 | return 0x5; // In BCD! |
RichardE | 7:e72691603fd3 | 46 | } |
RichardE | 7:e72691603fd3 | 47 | |
RichardE | 7:e72691603fd3 | 48 | /************************/ |
RichardE | 7:e72691603fd3 | 49 | /* MOVE THE GAME OBJECT */ |
RichardE | 7:e72691603fd3 | 50 | /************************/ |
RichardE | 7:e72691603fd3 | 51 | virtual void ProtectedMove( void ); |
RichardE | 7:e72691603fd3 | 52 | |
RichardE | 7:e72691603fd3 | 53 | /************************/ |
RichardE | 7:e72691603fd3 | 54 | /* DRAW THE GAME OBJECT */ |
RichardE | 7:e72691603fd3 | 55 | /************************/ |
RichardE | 7:e72691603fd3 | 56 | // Pass Gameduino to draw on in gd. |
RichardE | 7:e72691603fd3 | 57 | // This is only called after it has been established that the |
RichardE | 7:e72691603fd3 | 58 | // game object is visible. |
RichardE | 7:e72691603fd3 | 59 | virtual void Draw( Gameduino *gd ) { |
RichardE | 7:e72691603fd3 | 60 | Gameduino::Rotation transform = ( FrameCounter & 8 ) ? Gameduino::FlipX : Gameduino::None; |
RichardE | 7:e72691603fd3 | 61 | gd->sprite( SpriteNumber, ToPixel( Xco ), ToPixel( Yco ), GruntImage, 0, transform, BadGuy ); |
RichardE | 7:e72691603fd3 | 62 | } |
RichardE | 7:e72691603fd3 | 63 | |
RichardE | 7:e72691603fd3 | 64 | private : |
RichardE | 7:e72691603fd3 | 65 | |
RichardE | 7:e72691603fd3 | 66 | // Speed at which grunts move. |
RichardE | 7:e72691603fd3 | 67 | static Int16 gruntSpeed; |
RichardE | 7:e72691603fd3 | 68 | |
RichardE | 7:e72691603fd3 | 69 | }; |
RichardE | 7:e72691603fd3 | 70 | |
RichardE | 7:e72691603fd3 | 71 | #endif |
RichardE | 7:e72691603fd3 | 72 | |
RichardE | 7:e72691603fd3 | 73 | /* END of GruntObject.h */ |
RichardE | 7:e72691603fd3 | 74 |