#include "SDLhelpfunctions.h" #include "Map.h" #include "SDL/SDL.h" #include "Battle.h" //X Y Z //0 is for Map 1 is for player int main (int argc, char *argv[]) { SDL_Init(); TTF_Init(); font = TTF_OpenFont( "lazy.ttf", 18 ); set_map (); //The frame rate regulator Timer fps; int frame = 0; player = load_image("Player.bmp"); background = load_image("Ground.bmp"); stone = load_image("Stone.bmp"); wall = load_image("Wall.bmp"); thisway = load_image("thisway.bmp"); otherway = load_image("otherway.bmp"); floor = load_image("Floortile.bmp"); //Sets Players starting position map[x][y][1]=1; while(quit==false) { fps.start(); draw_map(); frame++; while( fps.get_ticks() < 1000 / FRAMES_PER_SECOND ) ; if( SDL_PollEvent( &event ) ) { //Checks if user wants to quit if( event.type == SDL_QUIT ) { quit = true; } //Checks if user has pressed a key } Uint8 *keystates = SDL_GetKeyState( NULL ); if (keystates[ SDLK_a ]) { if (statuswindow == false) { statuswindow = true; } else if (statuswindow == true) { statuswindow = false; } } if( keystates[ SDLK_UP ] ) { switch (map[x][y-1][0]) { case 0: map[x][y][1]=0; map[x][--y][1]=1; break; case 1: map[x][y][1]=0; map[x][--y][1]=1; break; case 50: area++; x=18; switch (area) { case 1: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 51: map[x][y][1]=0; x=1; area--; switch (area) { case 1: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 70: battle(area); map[x][y][1]=1; map[x][y-1][0]=0; default: break; } } if( keystates[ SDLK_DOWN ] ) { switch (map[x][y+1][0]) { case 0: map[x][y][1]=0; map[x][++y][1]=1; break; case 1: map[x][y][1]=0; map[x][++y][1]=1; break; case 50: x=18; area++; switch (area) { case 1: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 51: map[x][y][1]=0; x=1; area--; switch (area) { case 1: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 70: battle(area); map[x][y][1]=1; map[x][y+1][0]=0; default: break; } } if( keystates[ SDLK_LEFT ] ) { switch (map[x-1][y][0]) { case 0: map[x][y][1]=0; map[--x][y][1]=1; break; case 1: map[x][y][1]=0; map[--x][y][1]=1; break; case 50: x=18; area++; switch (area) { case 0: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 51: map[x][y][1]=0; x=1; area--; switch (area) { case 0: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 70: battle(area); map[x][y][1]=1; map[x-1][y][0]=0; default: break; } } if( keystates[ SDLK_RIGHT ] ) { switch (map[x+1][y][0]) { case 0: map[x][y][1]=0; map[++x][y][1]=1; break; case 1: map[x][y][1]=0; map[++x][y][1]=1; break; case 50: x=18; area++; switch (area) { case 0: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 51: map[x][y][1]=0; x=1; area--; switch (area) { case 0: set_map(); break; case 11: set_bossmap(); break; default: set_battlemap(); break; } map[x][y][1]=1; break; case 70: battle(area); map[x][y][1]=1; map[x+1][y][0]=0; default: break; } } } return 0; }