Merge pull request #1 from EndrII/master

fix snake class
This commit is contained in:
usermeme 2018-09-11 22:29:38 +03:00 committed by GitHub
commit 8a80d0d29b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 52 additions and 37 deletions

View File

@ -33,18 +33,12 @@ void Head::render(){
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) {
this->speed = spead;
}
Head::~Head() {

View File

@ -14,7 +14,7 @@ private:
qint64 time;
double *speed;
public:
Head();
Head(double *speed);
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();

View File

@ -1,23 +1,41 @@
#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);
}
}
Snake::Snake() :
speed(SPEEDSNAKE)
{
setSpeedHead();
_speed(SPEEDSNAKE){
}
const QVector<Head *> &Snake::getItems() const {
return _items;
}
void Snake::render() {
// зздесь должна быть реализация рендера змейки
// for (auto i : _items) {
// i->render();
// }
}
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;
}
Snake::~Snake() {
for (auto i : _items) {
delete i;
}
_items.clear();
}

View File

@ -5,17 +5,20 @@
#include <QVector>
#include "head.h"
class Snake
#include "baseclass.h"
class Snake : public BaseClass
{
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;
~Snake() override;
void render() override;
bool init(int size, double spead);
const QVector<Head*>& getItems() const;
void setSpeedHead (void);
};