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
GDExtra.h@18:70190f956a24, 2013-06-17 (annotated)
- 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?
User | Revision | Line number | New 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 |