From 364e4c29115523e430be52367b5a1755b4dcb988 Mon Sep 17 00:00:00 2001
From: usermeme <romanyankovich98@gmail.com>
Date: Sun, 9 Sep 2018 17:02:38 +0300
Subject: [PATCH] HeadClass second Version

---
 back-end/head.cpp | 20 ++++++++++++++++++++
 back-end/head.h   | 10 +++++++++-
 2 files changed, 29 insertions(+), 1 deletion(-)

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();
 };