Advertisement
Guest User

Untitled

a guest
Aug 24th, 2014
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. //main.cpp
  2.  
  3. #include <iostream>
  4. #include "Game.h"
  5. #include <SDL.h>
  6.  
  7. const int GAME_WIDTH = 1200;
  8. const int GAME_HEIGHT = 800;
  9.  
  10. Uint32 old_time;
  11. Uint32 current_time;
  12. float ftime;
  13.  
  14.  
  15. #undef main
  16. int main(int argc, char* args[])
  17. {
  18.  
  19. current_time = SDL_GetTicks();
  20. float frameStart, frameTime;
  21.  
  22. if (TheGame::Instance()->init("game", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, GAME_WIDTH, GAME_HEIGHT, 0))
  23. {
  24. while (TheGame::Instance()->isRunning)
  25. {
  26. old_time = current_time;
  27. current_time = SDL_GetTicks();
  28. ftime = (current_time - old_time) / 1000.0f;
  29.  
  30. TheGame::Instance()->handleEvents();
  31. TheGame::Instance()->update(ftime);
  32. TheGame::Instance()->render();
  33. }
  34. }
  35. else
  36. {
  37. std::cout << "Game error\n";
  38. return -1;
  39. }
  40.  
  41. std::cout << "Game closing...\n";
  42. TheGame::Instance()->clean();
  43.  
  44. return 0;
  45. }
  46.  
  47.  
  48. //Player.cpp
  49.  
  50. #include "Player.h"
  51. #include "Game.h"
  52.  
  53. Player::Player()
  54. {
  55. x = 0;
  56. y = 0;
  57. }
  58.  
  59. void Player::update(float time)
  60. {
  61. x += 120 * time;
  62.  
  63. if (x > 1200)
  64. {
  65. x = 0;
  66. }
  67. };
  68.  
  69. void Player::draw()
  70. {
  71. SDL_SetRenderDrawColor(TheGame::Instance()->getRenderer(), 255, 255, 255, 255);
  72. SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x, y, x + 32, y);
  73. SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x + 32, y, x + 32, y + 32);
  74. SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x + 32, y + 32, x, y + 32);
  75. SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x, y, x, y + 32);
  76. };
  77.  
  78. void Player::clean()
  79. {
  80. myfile.close();
  81. };
  82.  
  83. //Game.cpp
  84.  
  85. #include "Game.h"
  86. #include <iostream>
  87. Game* Game::s_pInstance = 0;
  88.  
  89. bool Game::init(const char* title, int xpos, int ypos, int width, int height, bool enableFullscreen)
  90. {
  91. gameWidth = width;
  92. gameHeight = height;
  93.  
  94. if (SDL_Init(SDL_INIT_EVERYTHING) == 0)
  95. {
  96. int flags = 0;
  97.  
  98. if (enableFullscreen)
  99. {
  100. flags = SDL_WINDOW_FULLSCREEN;
  101. }
  102.  
  103. mainWindow = SDL_CreateWindow(title, xpos, ypos, width, height, flags);
  104.  
  105. if (mainWindow != 0)
  106. {
  107. mainRenderer = SDL_CreateRenderer(mainWindow, -1, 0);
  108. if (mainRenderer != 0)
  109. {
  110. SDL_SetRenderDrawColor(mainRenderer, 20, 6, 38, 255);
  111. }
  112. }
  113. }
  114.  
  115. isRunning = true;
  116.  
  117. player = new Player();
  118.  
  119. return true;
  120. }
  121.  
  122. void Game::handleEvents()
  123. {
  124. }
  125.  
  126. void Game::update(float ftime)
  127. {
  128. this->ftime = ftime;
  129. player->update(this->ftime);
  130. }
  131.  
  132. void Game::render()
  133. {
  134. SDL_SetRenderDrawColor(mainRenderer, 20, 6, 38, 255);
  135. SDL_RenderClear(mainRenderer);
  136. player->draw();
  137. SDL_RenderPresent(mainRenderer);
  138. }
  139.  
  140. void Game::clean()
  141. {
  142. std::cout << "cleaning game\n";
  143. player->clean();
  144. SDL_DestroyWindow(mainWindow);
  145. SDL_DestroyRenderer(mainRenderer);
  146. SDL_Quit();
  147. }
  148.  
  149. void Game::quit()
  150. {
  151. isRunning = false;
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement