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:
Mon Jun 17 15:10:43 2013 +0000
Revision:
18:70190f956a24
Parent:
7:e72691603fd3
Improved response to button 1 when entering high scores (HighScoreEntry.cpp).

Who changed what in which revision?

UserRevisionLine numberNew 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