Advertisement
Mr-A

A-Engine: <main> 0.02

Jul 22nd, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.53 KB | None | 0 0
  1. #include "SDL/SDL.h"
  2. #include <string>
  3. #include <vector>
  4. #include <fstream>
  5. #include <sstream>
  6. #include "Object.h"
  7.  
  8.  
  9.  
  10. const int FPS = 30;
  11. int SFWIDTH = 800;
  12. int SFHEIGHT= 550;
  13. const char* CAPT = "Test";
  14. bool RUNNING = true;
  15. string LOADTXTDIR= "obj\\load.txt";
  16. string LOADTOKEN= "::";
  17.  
  18. int main( int argc, char* args[] )
  19. {
  20.     //Start SDL
  21.     SDL_Init( SDL_INIT_EVERYTHING );
  22.     LOAD LOADED(LOADTXTDIR, LOADTOKEN);
  23.     LOADED.LoadOBJ();
  24.     background A_Field(430, 110, 30, 740, "bg.BMP");
  25.     SDL_Surface *MainSurf  = NULL;
  26.     SDL_Event event;
  27.    
  28.     MainSurf = SDL_SetVideoMode( SFWIDTH, SFHEIGHT, 24, SDL_SWSURFACE);
  29.     SDL_WM_SetCaption( CAPT, NULL );
  30.  
  31.    
  32.     while (RUNNING == true){
  33.                                
  34.           int countahframe = SDL_GetTicks();
  35.           if( SDL_PollEvent(&event)){
  36.                  if (event.type == SDL_KEYDOWN){
  37.                     switch (event.key.keysym.sym){
  38.                                        case SDLK_UP: LOADED.OBJECT_IDS[0].P_UP= true; LOADED.OBJECT_IDS[0].P_DOWN= false;LOADED.OBJECT_IDS[0].DASHL=0;LOADED.OBJECT_IDS[0].DASHR=0; break;
  39.                                        case SDLK_DOWN: LOADED.OBJECT_IDS[0].P_DOWN= true; LOADED.OBJECT_IDS[0].P_UP=false;LOADED.OBJECT_IDS[0].DASHL=0;LOADED.OBJECT_IDS[0].DASHR=0; break;
  40.                                        case SDLK_LEFT: LOADED.OBJECT_IDS[0].P_LEFT= true; LOADED.OBJECT_IDS[0].P_RIGHT=false;LOADED.OBJECT_IDS[0].DshClksIntrvlL=SDL_GetTicks();LOADED.OBJECT_IDS[0].DshClksIntrvlR=0;LOADED.OBJECT_IDS[0].DASHR=0;break;
  41.                                        case SDLK_RIGHT: LOADED.OBJECT_IDS[0].P_RIGHT=true; LOADED.OBJECT_IDS[0].P_LEFT=false;LOADED.OBJECT_IDS[0].DshClksIntrvlR=SDL_GetTicks();LOADED.OBJECT_IDS[0].DshClksIntrvlL=0;LOADED.OBJECT_IDS[0].DASHL=0;break;
  42.                                        default:;
  43.                                        }
  44.                  }
  45.                  
  46.                  else if (event.type == SDL_KEYUP){
  47.                                 switch (event.key.keysym.sym){
  48.                                        case SDLK_UP: LOADED.OBJECT_IDS[0].P_UP= false;break;
  49.                                        case SDLK_DOWN: LOADED.OBJECT_IDS[0].P_DOWN= false;break;
  50.                                        case SDLK_LEFT: LOADED.OBJECT_IDS[0].P_LEFT= false;if (SDL_GetTicks()-LOADED.OBJECT_IDS[0].DshClksIntrvlL<110)LOADED.OBJECT_IDS[0].DASHL=1;LOADED.OBJECT_IDS[0].DASHR=0; break;
  51.                                        case SDLK_RIGHT: LOADED.OBJECT_IDS[0].P_RIGHT=false;if (SDL_GetTicks()-LOADED.OBJECT_IDS[0].DshClksIntrvlR<110)LOADED.OBJECT_IDS[0].DASHR=1;LOADED.OBJECT_IDS[0].DASHL=0; break;
  52.                                        default:;
  53.                                        }
  54.                  }
  55.                  else if (event.type == SDL_QUIT){
  56.                                RUNNING = false;
  57.                  }
  58.           }
  59.  
  60.     //Stickman.Move(0);
  61.     A_Field.Blit(MainSurf);
  62.     LOADED.OBJECT_IDS[0].Update(A_Field);
  63.     LOADED.OBJECT_IDS[0].Blit(MainSurf);
  64.    
  65.  
  66.     if ( (SDL_GetTicks()-countahframe) < (1000/FPS) )
  67.                      {SDL_Delay((1000/FPS) - (SDL_GetTicks()-countahframe));}
  68.     SDL_Flip( MainSurf );
  69.     SDL_FillRect( MainSurf, NULL, SDL_MapRGB( MainSurf->format, 0x00, 0x00, 0x00 ) );  
  70.    
  71.    
  72.    
  73.  
  74.     }
  75.    
  76.     //Quit SDL
  77.     SDL_FreeSurface( A_Field.backgroundSurf );
  78.     SDL_FreeSurface( LOADED.OBJECT_IDS[0].charsheet);
  79.     SDL_FreeSurface( LOADED.OBJECT_IDS[0].charsheet_);
  80.  
  81.    
  82.  
  83.    
  84.     SDL_Quit();
  85.    
  86.     return 0;    
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement