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

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RichardE 15:d8ea0c7b7e64 1 /*
RichardE 15:d8ea0c7b7e64 2 * SOURCE FILE : FieldGrid.h
RichardE 15:d8ea0c7b7e64 3 *
RichardE 15:d8ea0c7b7e64 4 * Definition of class FieldGrid.
RichardE 15:d8ea0c7b7e64 5 * This is a grid of rectangles used for fields on a form or whatever.
RichardE 15:d8ea0c7b7e64 6 *
RichardE 15:d8ea0c7b7e64 7 */
RichardE 15:d8ea0c7b7e64 8
RichardE 15:d8ea0c7b7e64 9 #ifndef FieldGridDefined
RichardE 15:d8ea0c7b7e64 10
RichardE 15:d8ea0c7b7e64 11 #define FieldGridDefined
RichardE 15:d8ea0c7b7e64 12
RichardE 15:d8ea0c7b7e64 13 #include <stdlib.h> // for NULL
RichardE 15:d8ea0c7b7e64 14 #include "Types.h"
RichardE 15:d8ea0c7b7e64 15 #include "FieldRow.h"
RichardE 15:d8ea0c7b7e64 16
RichardE 15:d8ea0c7b7e64 17 class FieldGrid {
RichardE 15:d8ea0c7b7e64 18
RichardE 15:d8ea0c7b7e64 19 public :
RichardE 15:d8ea0c7b7e64 20
RichardE 15:d8ea0c7b7e64 21 /***************/
RichardE 15:d8ea0c7b7e64 22 /* CONSTRUCTOR */
RichardE 15:d8ea0c7b7e64 23 /***************/
RichardE 15:d8ea0c7b7e64 24 // Pass number of rows in grid in rc.
RichardE 15:d8ea0c7b7e64 25 FieldGrid( UInt8 rc );
RichardE 15:d8ea0c7b7e64 26
RichardE 15:d8ea0c7b7e64 27 /**************/
RichardE 15:d8ea0c7b7e64 28 /* DESTRUCTOR */
RichardE 15:d8ea0c7b7e64 29 /**************/
RichardE 15:d8ea0c7b7e64 30 virtual ~FieldGrid();
RichardE 15:d8ea0c7b7e64 31
RichardE 15:d8ea0c7b7e64 32 /*************/
RichardE 15:d8ea0c7b7e64 33 /* GET A ROW */
RichardE 15:d8ea0c7b7e64 34 /*************/
RichardE 15:d8ea0c7b7e64 35 // Pass row number in rowNum.
RichardE 15:d8ea0c7b7e64 36 // Returns pointer to row or NULL if no such row.
RichardE 15:d8ea0c7b7e64 37 FieldRow *GetRow( UInt8 rowNum );
RichardE 15:d8ea0c7b7e64 38
RichardE 15:d8ea0c7b7e64 39 /*****************/
RichardE 15:d8ea0c7b7e64 40 /* GET ROW COUNT */
RichardE 15:d8ea0c7b7e64 41 /*****************/
RichardE 15:d8ea0c7b7e64 42 // Returns number of rows.
RichardE 15:d8ea0c7b7e64 43 UInt8 GetRowCount( void ) const {
RichardE 15:d8ea0c7b7e64 44 return rowCount;
RichardE 15:d8ea0c7b7e64 45 }
RichardE 15:d8ea0c7b7e64 46
RichardE 16:d0b142ba4362 47 /*****************************************/
RichardE 16:d0b142ba4362 48 /* GET CELL AT PARTICULAR ROW AND COLUMN */
RichardE 16:d0b142ba4362 49 /*****************************************/
RichardE 16:d0b142ba4362 50 // Pass row number in rowNum.
RichardE 16:d0b142ba4362 51 // Pass column number in columnNum.
RichardE 16:d0b142ba4362 52 // Returns pointer to cell or NULL if cell does not exist.
RichardE 16:d0b142ba4362 53 FieldCell *GetCellAt( UInt8 rowNum, UInt8 columnNum ) {
RichardE 16:d0b142ba4362 54 FieldRow *row = GetRow( rowNum );
RichardE 16:d0b142ba4362 55 if( row != (FieldRow*)NULL ) {
RichardE 16:d0b142ba4362 56 return row->GetCellAt( columnNum );
RichardE 16:d0b142ba4362 57 }
RichardE 16:d0b142ba4362 58 else {
RichardE 16:d0b142ba4362 59 return (FieldCell*)NULL;
RichardE 16:d0b142ba4362 60 }
RichardE 16:d0b142ba4362 61 }
RichardE 16:d0b142ba4362 62
RichardE 15:d8ea0c7b7e64 63 private :
RichardE 15:d8ea0c7b7e64 64
RichardE 15:d8ea0c7b7e64 65 // Pointer to array of FieldRow objects, one for each row in the grid.
RichardE 15:d8ea0c7b7e64 66 FieldRow *rows;
RichardE 15:d8ea0c7b7e64 67
RichardE 15:d8ea0c7b7e64 68 // Number of rows.
RichardE 15:d8ea0c7b7e64 69 UInt8 rowCount;
RichardE 15:d8ea0c7b7e64 70
RichardE 15:d8ea0c7b7e64 71 };
RichardE 15:d8ea0c7b7e64 72
RichardE 15:d8ea0c7b7e64 73 #endif
RichardE 15:d8ea0c7b7e64 74
RichardE 15:d8ea0c7b7e64 75 /* END of FieldGrid.h */
RichardE 15:d8ea0c7b7e64 76
RichardE 15:d8ea0c7b7e64 77