From 8209bbaf2a046199b9c65438fb4454ce01b42500 Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 18 Apr 2022 10:25:21 +0200 Subject: Exported player to own class --- CMakeLists.txt | 1 + GameScreen.cpp | 12 +++--------- GameScreen.h | 3 ++- Player.cpp | 26 ++++++++++++++++++++++++++ Player.h | 12 ++++++++++++ 5 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 Player.cpp create mode 100644 Player.h 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 -#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 + + +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 + + +struct Player +{ + Player(); + void update(float dt); + void draw(); + Vector2 m_position; +}; -- cgit v1.1