mirror of
https://github.com/QuasarApp/Snake.git
synced 2025-04-26 17:54:42 +00:00
fix snake class
This commit is contained in:
parent
7d4153cb0d
commit
f0a14c33b9
@ -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() {
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user