Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //main.cpp
- #include <iostream>
- #include "Game.h"
- #include <SDL.h>
- const int GAME_WIDTH = 1200;
- const int GAME_HEIGHT = 800;
- Uint32 old_time;
- Uint32 current_time;
- float ftime;
- #undef main
- int main(int argc, char* args[])
- {
- current_time = SDL_GetTicks();
- float frameStart, frameTime;
- if (TheGame::Instance()->init("game", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, GAME_WIDTH, GAME_HEIGHT, 0))
- {
- while (TheGame::Instance()->isRunning)
- {
- old_time = current_time;
- current_time = SDL_GetTicks();
- ftime = (current_time - old_time) / 1000.0f;
- TheGame::Instance()->handleEvents();
- TheGame::Instance()->update(ftime);
- TheGame::Instance()->render();
- }
- }
- else
- {
- std::cout << "Game error\n";
- return -1;
- }
- std::cout << "Game closing...\n";
- TheGame::Instance()->clean();
- return 0;
- }
- //Player.cpp
- #include "Player.h"
- #include "Game.h"
- Player::Player()
- {
- x = 0;
- y = 0;
- }
- void Player::update(float time)
- {
- x += 120 * time;
- if (x > 1200)
- {
- x = 0;
- }
- };
- void Player::draw()
- {
- SDL_SetRenderDrawColor(TheGame::Instance()->getRenderer(), 255, 255, 255, 255);
- SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x, y, x + 32, y);
- SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x + 32, y, x + 32, y + 32);
- SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x + 32, y + 32, x, y + 32);
- SDL_RenderDrawLine(TheGame::Instance()->getRenderer(), x, y, x, y + 32);
- };
- void Player::clean()
- {
- myfile.close();
- };
- //Game.cpp
- #include "Game.h"
- #include <iostream>
- Game* Game::s_pInstance = 0;
- bool Game::init(const char* title, int xpos, int ypos, int width, int height, bool enableFullscreen)
- {
- gameWidth = width;
- gameHeight = height;
- if (SDL_Init(SDL_INIT_EVERYTHING) == 0)
- {
- int flags = 0;
- if (enableFullscreen)
- {
- flags = SDL_WINDOW_FULLSCREEN;
- }
- mainWindow = SDL_CreateWindow(title, xpos, ypos, width, height, flags);
- if (mainWindow != 0)
- {
- mainRenderer = SDL_CreateRenderer(mainWindow, -1, 0);
- if (mainRenderer != 0)
- {
- SDL_SetRenderDrawColor(mainRenderer, 20, 6, 38, 255);
- }
- }
- }
- isRunning = true;
- player = new Player();
- return true;
- }
- void Game::handleEvents()
- {
- }
- void Game::update(float ftime)
- {
- this->ftime = ftime;
- player->update(this->ftime);
- }
- void Game::render()
- {
- SDL_SetRenderDrawColor(mainRenderer, 20, 6, 38, 255);
- SDL_RenderClear(mainRenderer);
- player->draw();
- SDL_RenderPresent(mainRenderer);
- }
- void Game::clean()
- {
- std::cout << "cleaning game\n";
- player->clean();
- SDL_DestroyWindow(mainWindow);
- SDL_DestroyRenderer(mainRenderer);
- SDL_Quit();
- }
- void Game::quit()
- {
- isRunning = false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement