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:
1:dfd5eaaf96a3
Improved response to button 1 when entering high scores (HighScoreEntry.cpp).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RichardE 1:dfd5eaaf96a3 1 /*
RichardE 1:dfd5eaaf96a3 2 * SOURCE FILE : GDExtra.h
RichardE 1:dfd5eaaf96a3 3 *
RichardE 1:dfd5eaaf96a3 4 * Additional routines for the Gameduino.
RichardE 1:dfd5eaaf96a3 5 *
RichardE 1:dfd5eaaf96a3 6 */
RichardE 1:dfd5eaaf96a3 7
RichardE 1:dfd5eaaf96a3 8 #ifndef GDExtraIncluded
RichardE 1:dfd5eaaf96a3 9
RichardE 1:dfd5eaaf96a3 10 #define GDExtraIncluded
RichardE 1:dfd5eaaf96a3 11
RichardE 1:dfd5eaaf96a3 12 #include "Gameduino.h" // Gameduino stuff
RichardE 1:dfd5eaaf96a3 13 #include "Types.h" // various types
RichardE 1:dfd5eaaf96a3 14
RichardE 1:dfd5eaaf96a3 15 class GDExtra {
RichardE 1:dfd5eaaf96a3 16
RichardE 1:dfd5eaaf96a3 17 public :
RichardE 1:dfd5eaaf96a3 18
RichardE 1:dfd5eaaf96a3 19 /****************/
RichardE 1:dfd5eaaf96a3 20 /* CLEAR SCREEN */
RichardE 1:dfd5eaaf96a3 21 /****************/
RichardE 1:dfd5eaaf96a3 22 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 23 // Writes all character RAM with given character code.
RichardE 1:dfd5eaaf96a3 24 static void ClearScreen( Gameduino *gd, UInt8 code );
RichardE 1:dfd5eaaf96a3 25
RichardE 1:dfd5eaaf96a3 26 /************************/
RichardE 1:dfd5eaaf96a3 27 /* HIDE A SINGLE SPRITE */
RichardE 1:dfd5eaaf96a3 28 /************************/
RichardE 1:dfd5eaaf96a3 29 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 30 // Pass sprite number in spriteNumber parameter.
RichardE 1:dfd5eaaf96a3 31 static void HideSprite( Gameduino *gd, UInt8 spriteNumber );
RichardE 1:dfd5eaaf96a3 32
RichardE 1:dfd5eaaf96a3 33 /********************/
RichardE 1:dfd5eaaf96a3 34 /* HIDE ALL SPRITES */
RichardE 1:dfd5eaaf96a3 35 /********************/
RichardE 1:dfd5eaaf96a3 36 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 37 static void HideAllSprites( Gameduino *gd );
RichardE 1:dfd5eaaf96a3 38
RichardE 1:dfd5eaaf96a3 39 /*********************************************/
RichardE 1:dfd5eaaf96a3 40 /* DISPLAY A STRING STORED IN PROGRAM MEMORY */
RichardE 1:dfd5eaaf96a3 41 /*********************************************/
RichardE 1:dfd5eaaf96a3 42 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 43 // Pass coordinates in x and y.
RichardE 1:dfd5eaaf96a3 44 // Pass address of string in s.
RichardE 1:dfd5eaaf96a3 45 static void WriteProgString( Gameduino *gd, UInt8 x, UInt8 y, const char *s );
RichardE 1:dfd5eaaf96a3 46
RichardE 1:dfd5eaaf96a3 47 /*******************************/
RichardE 1:dfd5eaaf96a3 48 /* DISPLAY AN UNSIGNED INTEGER */
RichardE 1:dfd5eaaf96a3 49 /*******************************/
RichardE 1:dfd5eaaf96a3 50 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 51 // Pass coordinates in x and y.
RichardE 1:dfd5eaaf96a3 52 // Pass number to write in num.
RichardE 1:dfd5eaaf96a3 53 // Pass numeric base in base.
RichardE 1:dfd5eaaf96a3 54 // Pass number of digits to write in digits.
RichardE 1:dfd5eaaf96a3 55 static void WriteUInt16( Gameduino *gd, UInt8 x, UInt8 y, UInt16 num, UInt8 base, UInt8 digits );
RichardE 1:dfd5eaaf96a3 56
RichardE 1:dfd5eaaf96a3 57 /************************/
RichardE 1:dfd5eaaf96a3 58 /* DISPLAY A BCD NUMBER */
RichardE 1:dfd5eaaf96a3 59 /************************/
RichardE 1:dfd5eaaf96a3 60 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 61 // Pass coordinates in x and y.
RichardE 1:dfd5eaaf96a3 62 // Pass number to write in num.
RichardE 1:dfd5eaaf96a3 63 // Pass number of digits to write in digits.
RichardE 1:dfd5eaaf96a3 64 static void WriteBCDNumber( Gameduino *gd, UInt8 x, UInt8 y, UInt32 num, UInt8 digits );
RichardE 1:dfd5eaaf96a3 65
RichardE 1:dfd5eaaf96a3 66 /******************************************************/
RichardE 1:dfd5eaaf96a3 67 /* DISPLAY A CHARACTER BLOCK STORED IN PROGRAM MEMORY */
RichardE 1:dfd5eaaf96a3 68 /******************************************************/
RichardE 1:dfd5eaaf96a3 69 // Pass pointer to a Gameduino in gd.
RichardE 1:dfd5eaaf96a3 70 // Pass coordinates in x and y.
RichardE 1:dfd5eaaf96a3 71 // Pass address of character block in bPtr.
RichardE 1:dfd5eaaf96a3 72 // Address points to the width of the block, followed by the height of
RichardE 1:dfd5eaaf96a3 73 // the block and then the character codes that make up the block.
RichardE 1:dfd5eaaf96a3 74 static void WriteProgCharBlock( Gameduino *gd, UInt8 x, UInt8 y, const UInt8 *bPtr );
RichardE 1:dfd5eaaf96a3 75
RichardE 1:dfd5eaaf96a3 76 };
RichardE 1:dfd5eaaf96a3 77
RichardE 1:dfd5eaaf96a3 78 #endif
RichardE 1:dfd5eaaf96a3 79
RichardE 1:dfd5eaaf96a3 80 /* END of GDExtra.h */
RichardE 1:dfd5eaaf96a3 81
RichardE 1:dfd5eaaf96a3 82