aboutsummaryrefslogtreecommitdiff
path: root/mwe/gameloop/src
diff options
context:
space:
mode:
Diffstat (limited to 'mwe/gameloop/src')
-rw-r--r--mwe/gameloop/src/gameObject.cpp11
-rw-r--r--mwe/gameloop/src/loopManager.cpp29
-rw-r--r--mwe/gameloop/src/timer.cpp3
-rw-r--r--mwe/gameloop/src/window.cpp5
4 files changed, 28 insertions, 20 deletions
diff --git a/mwe/gameloop/src/gameObject.cpp b/mwe/gameloop/src/gameObject.cpp
index 78217c4..809e25f 100644
--- a/mwe/gameloop/src/gameObject.cpp
+++ b/mwe/gameloop/src/gameObject.cpp
@@ -24,7 +24,12 @@ void GameObject::setVelX(float value) { velX = value; }
void GameObject::setVelY(float value) { velY = value; }
-GameObject::GameObject(std::string name, float x, float y, float width,
- float height, float velX, float velY)
- : name(name), x(x), y(y), width(width), height(height), velX(velX),
+GameObject::GameObject(std::string name, float x, float y, float width, float height,
+ float velX, float velY)
+ : name(name),
+ x(x),
+ y(y),
+ width(width),
+ height(height),
+ velX(velX),
velY(velY) {}
diff --git a/mwe/gameloop/src/loopManager.cpp b/mwe/gameloop/src/loopManager.cpp
index 0392853..fb06995 100644
--- a/mwe/gameloop/src/loopManager.cpp
+++ b/mwe/gameloop/src/loopManager.cpp
@@ -1,6 +1,12 @@
#include "loopManager.h"
#include "timer.h"
-LoopManager::LoopManager() {}
+LoopManager::LoopManager() { this->window = new WindowManager(); }
+LoopManager::~LoopManager() {
+ for (GameObject * object : this->objectList) {
+ delete object;
+ }
+ delete this->window;
+}
void LoopManager::processInput() {
SDL_Event event;
SDL_PollEvent(&event);
@@ -12,11 +18,11 @@ void LoopManager::processInput() {
if (event.key.keysym.sym == SDLK_ESCAPE) {
gameRunning = false;
} else if (event.key.keysym.sym == SDLK_i) {
- LoopTimer::getInstance().setGameScale(
- LoopTimer::getInstance().getGameScale() + 0.1);
+ LoopTimer::getInstance().setGameScale(LoopTimer::getInstance().getGameScale()
+ + 0.1);
} else if (event.key.keysym.sym == SDLK_k) {
- LoopTimer::getInstance().setGameScale(
- LoopTimer::getInstance().getGameScale() - 0.1);
+ LoopTimer::getInstance().setGameScale(LoopTimer::getInstance().getGameScale()
+ - 0.1);
}
break;
@@ -42,24 +48,23 @@ void LoopManager::loop() {
timer.enforceFrameRate();
}
- window.destroyWindow();
+ window->destroyWindow();
}
void LoopManager::setup() {
- gameRunning = window.initWindow();
- LoopTimer::getInstance().start();
- LoopTimer::getInstance().setFPS(500);
+ LoopTimer::getInstance().start();
+ LoopTimer::getInstance().setFPS(10);
+ this->gameRunning = true;
for (int i = 1; i < 3; i++) {
- GameObject * square
- = new GameObject("square2", i * 60, i * 60, 20, 20, 0, 0);
+ GameObject * square = new GameObject("square2", i * 60, i * 60, 20, 20, 0, 0);
objectList.push_back(square);
}
}
void LoopManager::render() {
fprintf(stderr, "**********render********** \n");
if (gameRunning) {
- window.render(objectList);
+ window->render(objectList);
}
}
diff --git a/mwe/gameloop/src/timer.cpp b/mwe/gameloop/src/timer.cpp
index 97baef6..5ae1564 100644
--- a/mwe/gameloop/src/timer.cpp
+++ b/mwe/gameloop/src/timer.cpp
@@ -45,8 +45,7 @@ void LoopTimer::enforceFrameRate() {
double frameDuration = (currentFrameTime - lastFrameTime) / 1000.0;
if (frameDuration < frameTargetTime) {
- uint32_t delayTime
- = (uint32_t) ((frameTargetTime - frameDuration) * 1000.0);
+ uint32_t delayTime = (uint32_t) ((frameTargetTime - frameDuration) * 1000.0);
SDL_Delay(delayTime);
}
}
diff --git a/mwe/gameloop/src/window.cpp b/mwe/gameloop/src/window.cpp
index dd1d98f..8f802e1 100644
--- a/mwe/gameloop/src/window.cpp
+++ b/mwe/gameloop/src/window.cpp
@@ -36,9 +36,8 @@ bool WindowManager::initWindow() {
fprintf(stderr, "Error inititalising SDL.\n");
return false;
}
- window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED,
- SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH,
- SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
+ window = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
+ SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
if (!window) {
fprintf(stderr, "Error creating SDL Window. \n");
return false;