You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.1 KiB
C++
57 lines
1.1 KiB
C++
#ifndef PADDLE_H
|
|
#define PADDLE_H
|
|
|
|
class Paddle {
|
|
private:
|
|
/* Variables */
|
|
raylib::Rectangle rectangle;
|
|
raylib::Color color;
|
|
int points;
|
|
raylib::Vector2 initial_pos;
|
|
|
|
public:
|
|
/* Variables */
|
|
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;
|
|
}
|
|
};
|
|
|
|
#endif
|