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 : Walker.h
RichardE 7:e72691603fd3 3 *
RichardE 7:e72691603fd3 4 * Methods for objects that walk sideways on (like humans and crushers).
RichardE 7:e72691603fd3 5 *
RichardE 7:e72691603fd3 6 */
RichardE 7:e72691603fd3 7
RichardE 7:e72691603fd3 8 #ifndef WalkerDefined
RichardE 7:e72691603fd3 9
RichardE 7:e72691603fd3 10 #define WalkerDefined
RichardE 7:e72691603fd3 11
RichardE 7:e72691603fd3 12 #include "Types.h"
RichardE 7:e72691603fd3 13 #include "GameObject.h"
RichardE 7:e72691603fd3 14
RichardE 7:e72691603fd3 15 class Walker {
RichardE 7:e72691603fd3 16
RichardE 7:e72691603fd3 17 public :
RichardE 7:e72691603fd3 18
RichardE 7:e72691603fd3 19 enum {
RichardE 7:e72691603fd3 20 AnimationStages = 4,
RichardE 7:e72691603fd3 21 };
RichardE 7:e72691603fd3 22
RichardE 7:e72691603fd3 23 /*************************************************/
RichardE 7:e72691603fd3 24 /* INITIALISE HORIZONTAL AND VERTICAL VELOCITIES */
RichardE 7:e72691603fd3 25 /*************************************************/
RichardE 7:e72691603fd3 26 // Pass pointers to horizontal and vertical velocities in hv and vv.
RichardE 7:e72691603fd3 27 static void InitialiseVelocities( Int16 *hv, Int16 *vv );
RichardE 7:e72691603fd3 28
RichardE 7:e72691603fd3 29 /*********************************************************/
RichardE 7:e72691603fd3 30 /* UPDATE COORDINATES AND VELOCITIES TO MAKE OBJECT WALK */
RichardE 7:e72691603fd3 31 /*********************************************************/
RichardE 7:e72691603fd3 32 // Pass pointers to x and y coordinates in x and y.
RichardE 7:e72691603fd3 33 // Pass pointers to horizontal and vertical velocities in hv and vv.
RichardE 7:e72691603fd3 34 // Pass restriction flags (as defined in GameObject.h) in restriction Flags.
RichardE 7:e72691603fd3 35 static void Walk( Int16 *x, Int16 *y, Int16 *hv, Int16 *vv, UInt8 restrictionFlags );
RichardE 7:e72691603fd3 36
RichardE 7:e72691603fd3 37 /*************************/
RichardE 7:e72691603fd3 38 /* DRAW A WALKING OBJECT */
RichardE 7:e72691603fd3 39 /*************************/
RichardE 7:e72691603fd3 40 // Pass pointer to Gameduino to draw on in gd.
RichardE 7:e72691603fd3 41 // Pass sprite number in spriteNumber.
RichardE 7:e72691603fd3 42 // Pass x and y coordinates in x and y (NOT pixel coordinates).
RichardE 7:e72691603fd3 43 // Pass horizontal velocity in hv.
RichardE 7:e72691603fd3 44 // Pass counter used to pace animation in frameCounter.
RichardE 7:e72691603fd3 45 // Pass pointer to animation data (array of AnimationStages sprite image numbers) in animationData.
RichardE 7:e72691603fd3 46 static void Draw( Gameduino *gd, UInt8 spriteNumber, Int16 x, Int16 y, Int16 hv, UInt8 frameCounter, const UInt8 *animationData );
RichardE 7:e72691603fd3 47
RichardE 7:e72691603fd3 48 private :
RichardE 7:e72691603fd3 49
RichardE 7:e72691603fd3 50 };
RichardE 7:e72691603fd3 51
RichardE 7:e72691603fd3 52 #endif
RichardE 7:e72691603fd3 53
RichardE 7:e72691603fd3 54 /* END of Walker.h */
RichardE 7:e72691603fd3 55