summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-18 10:25:21 +0200
committerAki <please@ignore.pl>2022-04-18 10:25:21 +0200
commit8209bbaf2a046199b9c65438fb4454ce01b42500 (patch)
tree7bddc234a27afe9e6443b41999edcf4fef56b74b
parent162ab6e923cf0c065449cfc248102b5b92fac8a7 (diff)
downloadbullethell2022-8209bbaf2a046199b9c65438fb4454ce01b42500.zip
bullethell2022-8209bbaf2a046199b9c65438fb4454ce01b42500.tar.gz
bullethell2022-8209bbaf2a046199b9c65438fb4454ce01b42500.tar.bz2
Exported player to own class
-rw-r--r--CMakeLists.txt1
-rw-r--r--GameScreen.cpp12
-rw-r--r--GameScreen.h3
-rw-r--r--Player.cpp26
-rw-r--r--Player.h12
5 files changed, 44 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ca18f6..8867e78 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,7 @@ add_executable(
Game.cpp
GameScreen.cpp
main.cpp
+ Player.cpp
TitleScreen.cpp
)
target_link_libraries(${PROJECT_NAME} raylib)
diff --git a/GameScreen.cpp b/GameScreen.cpp
index 6dc8025..4a2fc22 100644
--- a/GameScreen.cpp
+++ b/GameScreen.cpp
@@ -2,11 +2,8 @@
#include <raylib.h>
-#include "Bullets.h"
-
GameScreen::GameScreen() :
- m_pos {400, 300},
m_const {}
{
}
@@ -15,15 +12,12 @@ GameScreen::GameScreen() :
void
GameScreen::update(const float dt)
{
- if (IsKeyDown(KEY_LEFT))
- m_pos.x -= dt * 80;
- if (IsKeyDown(KEY_RIGHT))
- m_pos.x += dt * 80;
+ m_player.update(dt);
m_generator.update(dt, m_const.m_bullets);
m_const.update(dt);
bool collided = false;
for (const auto& bullet : m_const.m_bullets) {
- if (CheckCollisionCircles(m_pos, 9, bullet.position, bullet.radius))
+ if (CheckCollisionCircles(m_player.m_position, 9, bullet.position, bullet.radius))
collided = true;
}
(void) collided;
@@ -33,8 +27,8 @@ GameScreen::update(const float dt)
void
GameScreen::draw()
{
- DrawCircle(m_pos.x, m_pos.y, 10, LIGHTGRAY);
m_const.draw();
+ m_player.draw();
DrawFPS(5, 5);
DrawText(TextFormat("%d", m_const.m_bullets.size()), 5, 25, 20, DARKGRAY);
}
diff --git a/GameScreen.h b/GameScreen.h
index b821d0c..2b5152f 100644
--- a/GameScreen.h
+++ b/GameScreen.h
@@ -4,6 +4,7 @@
#include "Bullets.h"
#include "ExampleGenerator.h"
+#include "Player.h"
#include "Screen.h"
@@ -14,7 +15,7 @@ public:
void update(float dt) override;
void draw() override;
private:
- Vector2 m_pos;
+ Player m_player;
ExampleGenerator m_generator;
ConstantVelocitySystem m_const;
};
diff --git a/Player.cpp b/Player.cpp
new file mode 100644
index 0000000..736f96a
--- /dev/null
+++ b/Player.cpp
@@ -0,0 +1,26 @@
+#include "Player.h"
+
+#include <raylib.h>
+
+
+Player::Player() :
+ m_position {400, 450}
+{
+}
+
+
+void
+Player::update(const float dt)
+{
+ if (IsKeyDown(KEY_LEFT))
+ m_position.x -= dt * 80;
+ if (IsKeyDown(KEY_RIGHT))
+ m_position.x += dt * 80;
+}
+
+
+void
+Player::draw()
+{
+ DrawCircle(m_position.x, m_position.y, 10, LIGHTGRAY);
+}
diff --git a/Player.h b/Player.h
new file mode 100644
index 0000000..f0d4d10
--- /dev/null
+++ b/Player.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <raylib.h>
+
+
+struct Player
+{
+ Player();
+ void update(float dt);
+ void draw();
+ Vector2 m_position;
+};