diff --git a/back-end/head.cpp b/back-end/head.cpp index ef02a09..ff8ca4f 100644 --- a/back-end/head.cpp +++ b/back-end/head.cpp @@ -1,4 +1,6 @@ #include "head.h" +#include <cmath> +#include <QDateTime> double Head::getAngle() const { return angle; @@ -24,6 +26,24 @@ void Head::setX(double x) { this->x = x; } +double Head::getSpeed() const +{ + return speed; +} + +void Head::setSpeed(double value) +{ + speed = value; +} + +void Head::render(){ + qint64 tempTime = QDateTime::currentMSecsSinceEpoch() - time; + double my = y + speed * sin(angle * TO_RADIAN); + y += (my - y) / 1000 * tempTime; + time = QDateTime::currentMSecsSinceEpoch(); + +} + Head::Head() { } diff --git a/back-end/head.h b/back-end/head.h index f26ea94..2072101 100644 --- a/back-end/head.h +++ b/back-end/head.h @@ -1,5 +1,7 @@ #ifndef HEAD_H #define HEAD_H +#define TO_RADIAN 0.017453293 + #include "baseclass.h" #include <QString> @@ -7,8 +9,9 @@ class Head : BaseClass { private: - double x,y,angle; + double x, y, angle, speed; QString texture; + qint64 time; public: Head(); double getAngle() const; @@ -20,6 +23,11 @@ public: double getX() const; void setX(double x); + double getSpeed() const; + void setSpeed(double value); + + void render(); + ~Head(); };