-
Notifications
You must be signed in to change notification settings - Fork 0
/
mine.cpp
39 lines (30 loc) · 1021 Bytes
/
mine.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "mine.h"
#include <QPolygon>
Mine::Mine(int size, QPoint position, int speed, int direction):
MovableObject(position, speed, direction), _size(size) {
_eclosionTime = rand()%400+5;
}
void Mine::draw(QPainter &painter) {
if (_eclosionTime > 0) {
_eclosionTime--;
painter.drawPoint(this->_position);
} else {
painter.drawPolygon(this->getPolygon());
}
}
QPolygon Mine::getPolygon() const{
QPolygon mine;
mine.append(QPoint(_position.x(), _position.y()+(60/_size)));
mine.append(QPoint(_position.x()-(15/_size), _position.y()+(7/_size)));
mine.append(QPoint(_position.x()-(45/_size), _position.y()-(30/_size)));
mine.append(QPoint(_position.x(), _position.y()-(7/_size)));
mine.append(QPoint(_position.x()+(45/_size), _position.y()-(30/_size)));
mine.append(QPoint(_position.x()+(15/_size), _position.y()+(7/_size)));
return mine;
}
bool Mine::isBorn() {
return _eclosionTime <= 0;
}
int Mine::getSize() {
return _size;
}