2018-09-27 00:10:42 +03:00
|
|
|
#include "itemworld.h"
|
2019-02-19 16:07:38 +03:00
|
|
|
#include "snakeutils.h"
|
2018-09-27 00:10:42 +03:00
|
|
|
#include <cmath>
|
2018-10-11 00:04:52 +03:00
|
|
|
#include <QDebug>
|
|
|
|
#include <QRectF>
|
2018-09-27 00:10:42 +03:00
|
|
|
|
2018-11-16 02:08:35 +03:00
|
|
|
#define POINT 100
|
|
|
|
|
2018-12-01 21:06:40 +03:00
|
|
|
ItemWorld::ItemWorld(double x, double y, const QString& guiTemplate):
|
|
|
|
GuiObject (guiTemplate) {
|
2018-11-25 03:24:41 +03:00
|
|
|
setLoc(x, y);
|
2018-09-27 14:59:10 +03:00
|
|
|
}
|
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
void ItemWorld::setBeckGroundObject(bool value) {
|
2018-10-11 00:04:52 +03:00
|
|
|
beckGroundObject = value;
|
|
|
|
}
|
2018-09-27 00:10:42 +03:00
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
void ItemWorld::setSize(double h, double w) {
|
|
|
|
setH(h);
|
|
|
|
setW(w);
|
2018-09-27 14:59:10 +03:00
|
|
|
}
|
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
void ItemWorld::setLoc(double x, double y) {
|
|
|
|
setX(x);
|
|
|
|
setY(y);
|
|
|
|
}
|
2018-09-27 00:10:42 +03:00
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
void ItemWorld::render() {
|
2018-12-01 21:06:40 +03:00
|
|
|
if (m_x + w() < 0) {
|
2018-11-25 03:24:41 +03:00
|
|
|
m_x = (rand() % 400) + 200;
|
|
|
|
m_y = rand() % 100;
|
|
|
|
emit xChanged(m_x);
|
|
|
|
emit yChanged(m_y);
|
2018-10-11 18:09:35 +03:00
|
|
|
}
|
|
|
|
}
|
2018-10-11 00:04:52 +03:00
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
bool ItemWorld::move(const GuiObject *snakeRiger, double dx) {
|
|
|
|
m_x -= dx;
|
|
|
|
emit xChanged(m_x);
|
2018-10-11 00:04:52 +03:00
|
|
|
|
2018-11-25 03:24:41 +03:00
|
|
|
return snakeRiger->rect().intersects(rect()) && !beckGroundObject;
|
2018-10-11 00:04:52 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
bool ItemWorld::isBeckGroundObject() {
|
|
|
|
return beckGroundObject;
|
|
|
|
}
|
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
ItemWorld::~ItemWorld() {}
|