diff --git a/includes/paddle.hpp b/includes/paddle.hpp index 9f6dae8..962f68a 100644 --- a/includes/paddle.hpp +++ b/includes/paddle.hpp @@ -14,43 +14,25 @@ public: raylib::Vector2 velocity; /* This variable is made public to allow easy modification (no need for getters/setters) */ /* Functions */ - Paddle(int pos_x, int pos_y, int width, int height) { - this->rectangle = raylib::Rectangle(pos_x, pos_y, width, height); - this->initial_pos = raylib::Vector2(pos_x, pos_y); - this->color = raylib::Color::White(); - this->velocity = raylib::Vector2(0,0); - points = 0; - return; - } - - raylib::Rectangle getRect() { - return this->rectangle; - } - - int getPoints() { - return points; - } - void incrementPoints() { - points++; - return; - } - - void reset() { - this->rectangle.x = this->initial_pos.x; - this->rectangle.y = this->initial_pos.y; - this->velocity = raylib::Vector2(0,0); - return; - } - - void updatePosition() { - this->rectangle.x += this->velocity.x; - this->rectangle.y += this->velocity.y; - return; - } - void draw() { - this->rectangle.Draw(this->color); - return; - } + Paddle(int pos_x, int pos_y, int width, int height); + + /* Returns the raylib::Rectangle object of this paddle */ + raylib::Rectangle getRect(); + + /* Returns the number of points that this paddle has earned */ + int getPoints(); + + /* Increments the number of points that this paddle has earned */ + void incrementPoints(); + + /* Resets the paddle position */ + void reset(); + + /* Update the paddle position, based on its velocity */ + void updatePosition(); + + /* Draw the paddle onto the screen */ + void draw(); }; #endif diff --git a/paddle.cpp b/paddle.cpp new file mode 100644 index 0000000..fcf3304 --- /dev/null +++ b/paddle.cpp @@ -0,0 +1,40 @@ +#include "includes/raylib-cpp/raylib-cpp.hpp" +#include "includes/paddle.hpp" + +Paddle::Paddle(int pos_x, int pos_y, int width, int height) { + this->rectangle = raylib::Rectangle(pos_x, pos_y, width, height); + this->initial_pos = raylib::Vector2(pos_x, pos_y); + this->color = raylib::Color::White(); + this->velocity = raylib::Vector2(0,0); + points = 0; + return; +} + +raylib::Rectangle Paddle::getRect() { + return this->rectangle; +} + +int Paddle::getPoints() { + return points; +} +void Paddle::incrementPoints() { + points++; + return; +} + +void Paddle::reset() { + this->rectangle.x = this->initial_pos.x; + this->rectangle.y = this->initial_pos.y; + this->velocity = raylib::Vector2(0,0); + return; +} + +void Paddle::updatePosition() { + this->rectangle.x += this->velocity.x; + this->rectangle.y += this->velocity.y; + return; +} +void Paddle::draw() { + this->rectangle.Draw(this->color); + return; +}