2018-09-27 00:10:42 +03:00
|
|
|
#include "itemworld.h"
|
2018-10-11 18:09:35 +03:00
|
|
|
#include "utils.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-10-11 00:04:52 +03:00
|
|
|
ItemWorld::ItemWorld(double x, double y) {
|
2018-10-11 18:09:35 +03:00
|
|
|
setSize(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-09-27 14:59:10 +03:00
|
|
|
void ItemWorld::setSize(double x, double y) {
|
2018-11-04 16:11:55 +03:00
|
|
|
QRectF rect;
|
|
|
|
rect.setX(x);
|
|
|
|
rect.setY(y);
|
|
|
|
setRect(rect);
|
2018-09-27 14:59:10 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
void ItemWorld::render() {
|
2018-10-11 18:09:35 +03:00
|
|
|
if (m_rect.x() < 0) {
|
2018-11-16 02:08:35 +03:00
|
|
|
m_rect.setX(rand() % 200);
|
|
|
|
m_rect.setY(rand() % 100);
|
2018-10-11 18:09:35 +03:00
|
|
|
emit rectChanged(m_rect);
|
2018-09-27 00:10:42 +03:00
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
}
|
|
|
|
}
|
2018-10-11 00:04:52 +03:00
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
bool ItemWorld::move(const QRectF &snakeRiger, double dx) {
|
|
|
|
m_rect.setX( m_rect.x() - dx);
|
|
|
|
emit rectChanged(m_rect);
|
2018-10-11 00:04:52 +03:00
|
|
|
|
2018-10-11 18:09:35 +03:00
|
|
|
return snakeRiger.intersects(m_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() {}
|