mirror of
https://github.com/QuasarApp/Snake.git
synced 2025-04-27 10:14:39 +00:00
commit
8a80d0d29b
@ -33,18 +33,12 @@ void Head::render(){
|
|||||||
time = QDateTime::currentMSecsSinceEpoch();
|
time = QDateTime::currentMSecsSinceEpoch();
|
||||||
}
|
}
|
||||||
|
|
||||||
double *Head::getSpeed() const
|
double Head::getSpeed() const {
|
||||||
{
|
return *speed;
|
||||||
return speed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Head::setSpeed(double *speed)
|
Head::Head(double *spead) {
|
||||||
{
|
this->speed = spead;
|
||||||
this->speed = speed;
|
|
||||||
}
|
|
||||||
|
|
||||||
Head::Head() {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Head::~Head() {
|
Head::~Head() {
|
||||||
|
@ -14,7 +14,7 @@ private:
|
|||||||
qint64 time;
|
qint64 time;
|
||||||
double *speed;
|
double *speed;
|
||||||
public:
|
public:
|
||||||
Head();
|
Head(double *speed);
|
||||||
double getAngle() const;
|
double getAngle() const;
|
||||||
void setAngle(double angle);
|
void setAngle(double angle);
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ public:
|
|||||||
double getX() const;
|
double getX() const;
|
||||||
void setX(double x);
|
void setX(double x);
|
||||||
|
|
||||||
double *getSpeed() const;
|
double getSpeed() const;
|
||||||
void setSpeed(double *value);
|
void setSpeed(double *value);
|
||||||
|
|
||||||
void render();
|
void render();
|
||||||
|
@ -1,23 +1,41 @@
|
|||||||
#include "snake.h"
|
#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() :
|
Snake::Snake() :
|
||||||
speed(SPEEDSNAKE)
|
_speed(SPEEDSNAKE){
|
||||||
{
|
}
|
||||||
setSpeedHead();
|
|
||||||
|
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();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,17 +5,20 @@
|
|||||||
|
|
||||||
#include <QVector>
|
#include <QVector>
|
||||||
#include "head.h"
|
#include "head.h"
|
||||||
class Snake
|
#include "baseclass.h"
|
||||||
|
|
||||||
|
class Snake : public BaseClass
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
QVector<Head*> items;
|
QVector<Head*> _items;
|
||||||
double speed;
|
double _speed;
|
||||||
bool isClick;
|
bool _isClick;
|
||||||
public:
|
public:
|
||||||
Snake();
|
Snake();
|
||||||
bool init(int size, bool click);
|
~Snake() override;
|
||||||
void setItems(const QVector<Head *> &value);
|
void render() override;
|
||||||
QVector<Head *> getItems() const;
|
bool init(int size, double spead);
|
||||||
|
const QVector<Head*>& getItems() const;
|
||||||
void setSpeedHead (void);
|
void setSpeedHead (void);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user