diff --git a/back-end/head.cpp b/back-end/head.cpp index 8658300..43e5b6d 100644 --- a/back-end/head.cpp +++ b/back-end/head.cpp @@ -3,48 +3,42 @@ #include <QDateTime> double Head::getAngle() const { - return angle; + return _angle; } void Head::setAngle(double angle) { - this->angle = angle; + _angle = angle; } double Head::getY() const { - return y; + return _y; } void Head::setY(double y) { - this->y = y; + _y = y; } double Head::getX() const { - return x; + return _x; } void Head::setX(double x) { - this->x = x; + _x = x; } void Head::render(){ - qint64 tempTime = QDateTime::currentMSecsSinceEpoch() - time; - double my = y + *speed * sin(angle * TO_RADIAN); - y += (my - y) / 1000 * tempTime; - time = QDateTime::currentMSecsSinceEpoch(); + qint64 tempTime = QDateTime::currentMSecsSinceEpoch() - _time; + double my = _y + *_speed * sin(_angle * TO_RADIAN); + _y += (my - _y) / 1000 * tempTime; + _time = QDateTime::currentMSecsSinceEpoch(); } -double *Head::getSpeed() const -{ - return speed; +double Head::getSpeed() const { + return *_speed; } -void Head::setSpeed(double *speed) -{ - this->speed = speed; -} - -Head::Head() { - +Head::Head(double *spead) { + _speed = spead; } Head::~Head() { diff --git a/back-end/head.h b/back-end/head.h index ae10fc3..2415281 100644 --- a/back-end/head.h +++ b/back-end/head.h @@ -9,12 +9,12 @@ class Head : BaseClass { private: - double x, y, angle; - QString texture; - qint64 time; - double *speed; + double _x, _y, _angle; + QString _texture; + qint64 _time; + double *_speed; public: - Head(); + Head(double *spead); double getAngle() const; void setAngle(double angle); @@ -24,7 +24,7 @@ public: double getX() const; void setX(double x); - double *getSpeed() const; + double getSpeed() const; void setSpeed(double *value); void render(); diff --git a/back-end/snake.cpp b/back-end/snake.cpp index d897c1d..493760b 100644 --- a/back-end/snake.cpp +++ b/back-end/snake.cpp @@ -1,23 +1,25 @@ #include "snake.h" -void Snake::setItems(const QVector<Head *> &value) -{ - items = value; -} - -QVector<Head *> Snake::getItems() const -{ - return items; -} - -void Snake::setSpeedHead(){ - for(int i = 0;i < getItems().size(); ++i){ - getItems().at(i)->setSpeed(&speed); - } +const QVector<Head *> &Snake::getItems() const { + return _items; } Snake::Snake() : - speed(SPEEDSNAKE) -{ - setSpeedHead(); + _speed(SPEEDSNAKE){ +} + +bool Snake::init(int size, double spead) { + + if (size < 0 || spead <= 0) { + return false; + } + + _speed = spead; + + for ( int i = size; i >= 0; --i ) { + _items.push_back( new Head(&_speed)); + } + + return true; + } diff --git a/back-end/snake.h b/back-end/snake.h index a2ad9b1..6e15c18 100644 --- a/back-end/snake.h +++ b/back-end/snake.h @@ -8,14 +8,13 @@ class Snake { private: - QVector<Head*> items; - double speed; - bool isClick; + QVector<Head*> _items; + double _speed; + bool _isClick; public: Snake(); - bool init(int size, bool click); - void setItems(const QVector<Head *> &value); - QVector<Head *> getItems() const; + bool init(int size, double spead); + const QVector<Head*>& getItems() const; void setSpeedHead (void); };