mirror of
https://github.com/QuasarApp/Snake.git
synced 2025-05-10 08:29:44 +00:00
Class Snake & Header Controller
This commit is contained in:
parent
364e4c2911
commit
7d4153cb0d
6
back-end/controller.cpp
Normal file
6
back-end/controller.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
#include "controller.h"
|
||||
|
||||
Controller::Controller()
|
||||
{
|
||||
|
||||
}
|
16
back-end/controller.h
Normal file
16
back-end/controller.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef CONTROLLER_H
|
||||
#define CONTROLLER_H
|
||||
|
||||
#include <QObject>
|
||||
#include "snake.h"
|
||||
|
||||
class Controller : public QObject
|
||||
{
|
||||
private:
|
||||
Snake snake;
|
||||
public:
|
||||
Controller();
|
||||
void update();
|
||||
};
|
||||
|
||||
#endif // CONTROLLER_H
|
@ -26,22 +26,21 @@ void Head::setX(double x) {
|
||||
this->x = x;
|
||||
}
|
||||
|
||||
double Head::getSpeed() const
|
||||
void Head::render(){
|
||||
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;
|
||||
}
|
||||
|
||||
void Head::setSpeed(double value)
|
||||
void Head::setSpeed(double *speed)
|
||||
{
|
||||
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();
|
||||
|
||||
this->speed = speed;
|
||||
}
|
||||
|
||||
Head::Head() {
|
||||
|
@ -9,9 +9,10 @@
|
||||
class Head : BaseClass
|
||||
{
|
||||
private:
|
||||
double x, y, angle, speed;
|
||||
double x, y, angle;
|
||||
QString texture;
|
||||
qint64 time;
|
||||
double *speed;
|
||||
public:
|
||||
Head();
|
||||
double getAngle() const;
|
||||
@ -23,12 +24,13 @@ public:
|
||||
double getX() const;
|
||||
void setX(double x);
|
||||
|
||||
double getSpeed() const;
|
||||
void setSpeed(double value);
|
||||
|
||||
double *getSpeed() const;
|
||||
void setSpeed(double *value);
|
||||
|
||||
void render();
|
||||
|
||||
~Head();
|
||||
|
||||
};
|
||||
|
||||
#endif // HEAD_H
|
||||
|
23
back-end/snake.cpp
Normal file
23
back-end/snake.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
#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();
|
||||
}
|
22
back-end/snake.h
Normal file
22
back-end/snake.h
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef SNAKE_H
|
||||
#define SNAKE_H
|
||||
|
||||
#define SPEEDSNAKE 10
|
||||
|
||||
#include <QVector>
|
||||
#include "head.h"
|
||||
class Snake
|
||||
{
|
||||
private:
|
||||
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;
|
||||
void setSpeedHead (void);
|
||||
};
|
||||
|
||||
#endif // SNAKE_H
|
@ -5,5 +5,5 @@ Window {
|
||||
visible: true
|
||||
width: 640
|
||||
height: 480
|
||||
title: qsTr("Hello World")
|
||||
title: qsTr("SnakeOfTheRoad")
|
||||
}
|
||||
|
@ -15,7 +15,9 @@ DEFINES += QT_DEPRECATED_WARNINGS
|
||||
SOURCES += \
|
||||
back-end/main.cpp \
|
||||
back-end/baseclass.cpp \
|
||||
back-end/head.cpp
|
||||
back-end/head.cpp \
|
||||
back-end/snake.cpp \
|
||||
back-end/controller.cpp
|
||||
|
||||
RESOURCES += qml.qrc
|
||||
|
||||
@ -32,4 +34,6 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
|
||||
|
||||
HEADERS += \
|
||||
back-end/baseclass.h \
|
||||
back-end/head.h
|
||||
back-end/head.h \
|
||||
back-end/snake.h \
|
||||
back-end/controller.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user