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
HighScoreEntry.h@16:d0b142ba4362, 2013-06-15 (annotated)
- Committer:
- RichardE
- Date:
- Sat Jun 15 19:27:36 2013 +0000
- Revision:
- 16:d0b142ba4362
- Parent:
- 15:d8ea0c7b7e64
- Child:
- 17:194789db2215
Entering of high scores nearly there. Just requires code to allow you to backspace and confirm when you have finished.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RichardE | 0:5fa232ee5fdf | 1 | /* |
RichardE | 0:5fa232ee5fdf | 2 | * SOURCE FILE : HighScoreEntry.h |
RichardE | 0:5fa232ee5fdf | 3 | * |
RichardE | 0:5fa232ee5fdf | 4 | * Definition of class HighScoreEntry. |
RichardE | 0:5fa232ee5fdf | 5 | * Routine to allow player to enter their name using joysticks. |
RichardE | 0:5fa232ee5fdf | 6 | * |
RichardE | 0:5fa232ee5fdf | 7 | */ |
RichardE | 0:5fa232ee5fdf | 8 | |
RichardE | 0:5fa232ee5fdf | 9 | #ifndef HighScoreEntryDefined |
RichardE | 0:5fa232ee5fdf | 10 | |
RichardE | 0:5fa232ee5fdf | 11 | #define HighScoreEntryDefined |
RichardE | 0:5fa232ee5fdf | 12 | |
RichardE | 0:5fa232ee5fdf | 13 | #include "Types.h" |
RichardE | 4:673eb9735d44 | 14 | #include "PanelControls.h" // for reading panel controls. |
RichardE | 0:5fa232ee5fdf | 15 | #include "PlayerName.h" |
RichardE | 4:673eb9735d44 | 16 | #include "Gameduino.h" |
RichardE | 15:d8ea0c7b7e64 | 17 | #include "FieldGrid.h" // grid around which cursor moves |
RichardE | 0:5fa232ee5fdf | 18 | |
RichardE | 0:5fa232ee5fdf | 19 | class HighScoreEntry { |
RichardE | 0:5fa232ee5fdf | 20 | |
RichardE | 0:5fa232ee5fdf | 21 | public : |
RichardE | 0:5fa232ee5fdf | 22 | |
RichardE | 0:5fa232ee5fdf | 23 | /***************/ |
RichardE | 0:5fa232ee5fdf | 24 | /* CONSTRUCTOR */ |
RichardE | 0:5fa232ee5fdf | 25 | /***************/ |
RichardE | 0:5fa232ee5fdf | 26 | HighScoreEntry(); |
RichardE | 0:5fa232ee5fdf | 27 | |
RichardE | 0:5fa232ee5fdf | 28 | /**************/ |
RichardE | 0:5fa232ee5fdf | 29 | /* DESTRUCTOR */ |
RichardE | 0:5fa232ee5fdf | 30 | /**************/ |
RichardE | 0:5fa232ee5fdf | 31 | virtual ~HighScoreEntry(); |
RichardE | 0:5fa232ee5fdf | 32 | |
RichardE | 0:5fa232ee5fdf | 33 | /*********************/ |
RichardE | 0:5fa232ee5fdf | 34 | /* GET A PLAYER NAME */ |
RichardE | 0:5fa232ee5fdf | 35 | /*********************/ |
RichardE | 0:5fa232ee5fdf | 36 | // Pass pointer to place to store name in name. |
RichardE | 0:5fa232ee5fdf | 37 | // Pass pointer to controls to read in controls. |
RichardE | 4:673eb9735d44 | 38 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 4:673eb9735d44 | 39 | void GetName( PlayerName *name, PanelControls *controls, Gameduino *gd ); |
RichardE | 0:5fa232ee5fdf | 40 | |
RichardE | 0:5fa232ee5fdf | 41 | private : |
RichardE | 0:5fa232ee5fdf | 42 | |
RichardE | 16:d0b142ba4362 | 43 | // Index of character being modified in the name. |
RichardE | 16:d0b142ba4362 | 44 | UInt8 charIndex; |
RichardE | 16:d0b142ba4362 | 45 | |
RichardE | 16:d0b142ba4362 | 46 | // Grid row and column number for cursor. |
RichardE | 16:d0b142ba4362 | 47 | UInt8 cursorRow, cursorColumn; |
RichardE | 16:d0b142ba4362 | 48 | |
RichardE | 15:d8ea0c7b7e64 | 49 | // Grid around which cursor moves. |
RichardE | 15:d8ea0c7b7e64 | 50 | FieldGrid grid; |
RichardE | 15:d8ea0c7b7e64 | 51 | |
RichardE | 15:d8ea0c7b7e64 | 52 | /*******************/ |
RichardE | 15:d8ea0c7b7e64 | 53 | /* INITIALISE GRID */ |
RichardE | 15:d8ea0c7b7e64 | 54 | /*******************/ |
RichardE | 15:d8ea0c7b7e64 | 55 | void InitialiseGrid( void ); |
RichardE | 15:d8ea0c7b7e64 | 56 | |
RichardE | 0:5fa232ee5fdf | 57 | /*********************/ |
RichardE | 0:5fa232ee5fdf | 58 | /* WAIT FOR CONTROLS */ |
RichardE | 0:5fa232ee5fdf | 59 | /*********************/ |
RichardE | 4:673eb9735d44 | 60 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 0:5fa232ee5fdf | 61 | // Pass pointer to controls to read in controls. |
RichardE | 0:5fa232ee5fdf | 62 | // Pass true in waitActivate to wait for a control to be used. |
RichardE | 0:5fa232ee5fdf | 63 | // Pass false to wait for release. |
RichardE | 4:673eb9735d44 | 64 | void WaitControls( Gameduino *gd, PanelControls *controls, bool waitActivate ); |
RichardE | 0:5fa232ee5fdf | 65 | |
RichardE | 0:5fa232ee5fdf | 66 | /*******************/ |
RichardE | 0:5fa232ee5fdf | 67 | /* DRAW THE SCREEN */ |
RichardE | 0:5fa232ee5fdf | 68 | /*******************/ |
RichardE | 4:673eb9735d44 | 69 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 16:d0b142ba4362 | 70 | // Pass player name in name. |
RichardE | 16:d0b142ba4362 | 71 | void DrawScreen( Gameduino *gd, PlayerName *name ); |
RichardE | 0:5fa232ee5fdf | 72 | |
RichardE | 14:46a353b2a8e8 | 73 | /***************************/ |
RichardE | 14:46a353b2a8e8 | 74 | /* DRAW THE CHARACTER GRID */ |
RichardE | 14:46a353b2a8e8 | 75 | /***************************/ |
RichardE | 14:46a353b2a8e8 | 76 | // Pass pointer to Gameduino to draw on in gd. |
RichardE | 14:46a353b2a8e8 | 77 | void DrawGrid( Gameduino *gd ); |
RichardE | 14:46a353b2a8e8 | 78 | |
RichardE | 0:5fa232ee5fdf | 79 | /********************************/ |
RichardE | 0:5fa232ee5fdf | 80 | /* DRAW THE NAME AND THE CURSOR */ |
RichardE | 0:5fa232ee5fdf | 81 | /********************************/ |
RichardE | 4:673eb9735d44 | 82 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 0:5fa232ee5fdf | 83 | // Pass player name in name. |
RichardE | 4:673eb9735d44 | 84 | void DrawName( Gameduino *gd, PlayerName *name ); |
RichardE | 0:5fa232ee5fdf | 85 | |
RichardE | 0:5fa232ee5fdf | 86 | /********************/ |
RichardE | 0:5fa232ee5fdf | 87 | /* UPDATE ANIMATION */ |
RichardE | 0:5fa232ee5fdf | 88 | /********************/ |
RichardE | 4:673eb9735d44 | 89 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 4:673eb9735d44 | 90 | void Animate( Gameduino *gd ); |
RichardE | 0:5fa232ee5fdf | 91 | |
RichardE | 16:d0b142ba4362 | 92 | /*******************/ |
RichardE | 16:d0b142ba4362 | 93 | /* WIPE THE CURSOR */ |
RichardE | 16:d0b142ba4362 | 94 | /*******************/ |
RichardE | 16:d0b142ba4362 | 95 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 16:d0b142ba4362 | 96 | // Pass cell to draw in cell. |
RichardE | 16:d0b142ba4362 | 97 | void WipeCursor( Gameduino *gd, FieldCell *cell ); |
RichardE | 16:d0b142ba4362 | 98 | |
RichardE | 16:d0b142ba4362 | 99 | /*******************/ |
RichardE | 16:d0b142ba4362 | 100 | /* DRAW THE CURSOR */ |
RichardE | 16:d0b142ba4362 | 101 | /*******************/ |
RichardE | 16:d0b142ba4362 | 102 | // Pass pointer to Gameduino to display on in gd. |
RichardE | 16:d0b142ba4362 | 103 | // Pass cell to draw in cell. |
RichardE | 16:d0b142ba4362 | 104 | void DrawCursor( Gameduino *gd, FieldCell *cell ); |
RichardE | 16:d0b142ba4362 | 105 | |
RichardE | 16:d0b142ba4362 | 106 | /**************************/ |
RichardE | 16:d0b142ba4362 | 107 | /* VALIDATE CURSOR COLUMN */ |
RichardE | 16:d0b142ba4362 | 108 | /**************************/ |
RichardE | 16:d0b142ba4362 | 109 | // If cursor column is beyond end of row then forces it back. |
RichardE | 16:d0b142ba4362 | 110 | void ValidateCursorColumn( void ); |
RichardE | 16:d0b142ba4362 | 111 | |
RichardE | 0:5fa232ee5fdf | 112 | }; |
RichardE | 0:5fa232ee5fdf | 113 | |
RichardE | 0:5fa232ee5fdf | 114 | #endif |
RichardE | 0:5fa232ee5fdf | 115 | |
RichardE | 0:5fa232ee5fdf | 116 | /* END of HighScoreEntry.h */ |
RichardE | 0:5fa232ee5fdf | 117 |