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