Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: N5110 PowerControl mbed
Diff: main.cpp
- Revision:
- 11:b86a15d26de9
- Parent:
- 10:59c874d006ab
- Child:
- 12:30a242706847
--- a/main.cpp Fri Apr 24 22:34:34 2015 +0000 +++ b/main.cpp Sat Apr 25 11:10:06 2015 +0000 @@ -19,6 +19,7 @@ #define FLOOR 1 #define ENTER 2 #define EXIT 3 +#define FLOOR_SEEN 4 #define RIGHT 0 #define LEFT 1 @@ -28,9 +29,6 @@ #define SOUTH 0 #define EAST 1 -#define MAIN_MENU 0 -#define GAME 1 - struct TILES { char Symbol; // Symbol for this tile bool Passable; // Can tile be walked on @@ -41,6 +39,7 @@ { '.', true}, // 1- FLOOR { '+', true }, // 2- ENTER { 'x', true }, // 3- EXIT + { '.', true}, // 4- FLOOR_SEEN }; @@ -65,9 +64,7 @@ int n; -int menu; - -bool screen; +bool menu; int level; @@ -139,7 +136,7 @@ //Draw map on screen for(int i=0; i<84; i++) { for (int j=0; j<48; j++) { - if(map[i][j] == FLOOR || map[i][j] == EXIT) { + if(map[i][j] == FLOOR_SEEN) { lcd.clearPixel(i, j); } else { lcd.setPixel(i, j); @@ -380,6 +377,11 @@ tile = WALL; } lcd.printChar(TileList[tile].Symbol, (6*i)+1, j); + + if(map[px+diffx][py+diffy] == FLOOR) { + map[px+diffx][py+diffy] = FLOOR_SEEN; + } + } } } @@ -442,7 +444,7 @@ { char buffer[1]; int length = sprintf(buffer,"Level %d",level); // print formatted data to buffer - + lcd.clear(); lcd.printString(buffer, 20, 2); lcd.refresh(); @@ -452,31 +454,38 @@ void GameLoop() { - - level++; - - World(); - - LevelScreen(); - - //Game loop while(1) { - PlayerCamera(); - Sleep(); + level++; + + World(); + + LevelScreen(); + + //Game loop + while(1) { + + PlayerCamera(); + Sleep(); - if(DirFlag) { + if(DirFlag) { + + DirFlag = 0; - DirFlag = 0; + PlayerMove(); + } + if(StartFlag) { - PlayerMove(); - } - if(StartFlag) { + StartFlag = 0; - StartFlag = 0; + StartMenu(); + } + if(px == exx && py == exy) { - StartMenu(); + break; + + } } } }