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 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?

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