summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--gamestate.cpp36
-rw-r--r--htpstate.cpp2
-rw-r--r--mazeoflife.cpp8
-rw-r--r--titlestate.cpp2
4 files changed, 21 insertions, 27 deletions
diff --git a/gamestate.cpp b/gamestate.cpp index 39d589d..c312bfe 100644 --- a/gamestate.cpp +++ b/gamestate.cpp
@@ -39,15 +39,7 @@ void GameState::input(SDLKey key)
39 39
40 break; 40 break;
41 case SDLK_ESCAPE: 41 case SDLK_ESCAPE:
42 newGame = false; 42 changeState(new TitleState());
43
44 info.playerx = 1;
45 info.playery = 1;
46 info.level = Level();
47 info.doneMaking = false;
48 board = Board(&info);
49
50 SDL_WM_SetCaption("Maze Of Life - Level 1", NULL);
51 43
52 break; 44 break;
53 } 45 }
@@ -241,14 +233,14 @@ void GameState::Board::tick()
241 233
242 int neighbors = 0; 234 int neighbors = 0;
243 235
244 if ((x>0)&&(y>0)) incrementIfNeighbor(x-1,y-1,temp,&neighbors); 236 incrementIfNeighbor(x-1,y-1,temp,&neighbors);
245 if ((x>0)) incrementIfNeighbor(x-1,y,temp,&neighbors); 237 incrementIfNeighbor(x-1,y,temp,&neighbors);
246 if ((x>0)&&(y<HEIGHT-1)) incrementIfNeighbor(x-1,y+1,temp,&neighbors); 238 incrementIfNeighbor(x-1,y+1,temp,&neighbors);
247 if ((y>0)) incrementIfNeighbor(x,y-1,temp,&neighbors); 239 incrementIfNeighbor(x,y-1,temp,&neighbors);
248 if ((y<HEIGHT-1)) incrementIfNeighbor(x,y+1,temp,&neighbors); 240 incrementIfNeighbor(x,y+1,temp,&neighbors);
249 if ((x<WIDTH-1)&&(y>0)) incrementIfNeighbor(x+1,y-1,temp,&neighbors); 241 incrementIfNeighbor(x+1,y-1,temp,&neighbors);
250 if ((x<WIDTH-1)) incrementIfNeighbor(x+1,y,temp,&neighbors); 242 incrementIfNeighbor(x+1,y,temp,&neighbors);
251 if ((x<WIDTH-1)&&(y<HEIGHT-1)) incrementIfNeighbor(x+1,y+1,temp,&neighbors); 243 incrementIfNeighbor(x+1,y+1,temp,&neighbors);
252 244
253 if (temp[x][y]) 245 if (temp[x][y])
254 { 246 {
@@ -264,10 +256,16 @@ void GameState::Board::tick()
264 256
265void GameState::Board::incrementIfNeighbor(int x, int y, bool temp[WIDTH][HEIGHT], int* tick) 257void GameState::Board::incrementIfNeighbor(int x, int y, bool temp[WIDTH][HEIGHT], int* tick)
266{ 258{
259 int nx = x;
260 int ny = y;
261
267 wrap(&x, &y); 262 wrap(&x, &y);
268 263
269 if ((temp[x][y])||((info->playerx==x)&&(info->playery==y))||((x==15)&&(y==15))) 264 if (!((nx!=x)&&(ny!=y)))
270 { 265 {
271 ++*tick; 266 if ((temp[x][y])||((info->playerx==x)&&(info->playery==y))||((x==15)&&(y==15)))
267 {
268 ++*tick;
269 }
272 } 270 }
273} 271}
diff --git a/htpstate.cpp b/htpstate.cpp index 273392e..ad830da 100644 --- a/htpstate.cpp +++ b/htpstate.cpp
@@ -7,6 +7,8 @@ HowToPlayState::HowToPlayState()
7 pointer = SDL_LoadBMP("pointer.bmp"); 7 pointer = SDL_LoadBMP("pointer.bmp");
8 secondPage = false; 8 secondPage = false;
9 selection = 0; 9 selection = 0;
10
11 SDL_WM_SetCaption("Maze Of Life - How To Play", NULL);
10} 12}
11 13
12void HowToPlayState::input(SDLKey key) 14void HowToPlayState::input(SDLKey key)
diff --git a/mazeoflife.cpp b/mazeoflife.cpp index e962f2e..4ec9250 100644 --- a/mazeoflife.cpp +++ b/mazeoflife.cpp
@@ -1,7 +1,6 @@
1#include "includes.h" 1#include "includes.h"
2 2
3SDL_Surface *screen; 3SDL_Surface *screen;
4bool gameSleep = false;
5State* state; 4State* state;
6 5
7int main(int argc, char *argv[]) 6int main(int argc, char *argv[])
@@ -42,13 +41,6 @@ int main(int argc, char *argv[])
42 { 41 {
43 switch (anEvent.type) 42 switch (anEvent.type)
44 { 43 {
45 case SDL_ACTIVEEVENT:
46 if (anEvent.active.state == SDL_APPINPUTFOCUS)
47 {
48 gameSleep = !anEvent.active.gain;
49 }
50
51 break;
52 case SDL_QUIT: 44 case SDL_QUIT:
53 exit(0); 45 exit(0);
54 46
diff --git a/titlestate.cpp b/titlestate.cpp index 144148a..425e4ca 100644 --- a/titlestate.cpp +++ b/titlestate.cpp
@@ -5,6 +5,8 @@ TitleState::TitleState()
5 background = SDL_LoadBMP("title.bmp"); 5 background = SDL_LoadBMP("title.bmp");
6 pointer = SDL_LoadBMP("pointer.bmp"); 6 pointer = SDL_LoadBMP("pointer.bmp");
7 selection = 0; 7 selection = 0;
8
9 SDL_WM_SetCaption("Maze Of Life", NULL);
8} 10}
9 11
10void TitleState::input(SDLKey key) 12void TitleState::input(SDLKey key)