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:
Sat Jun 15 19:27:36 2013 +0000
Revision:
16:d0b142ba4362
Parent:
15:d8ea0c7b7e64
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?

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