-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjumper.cpp
42 lines (36 loc) · 871 Bytes
/
jumper.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
40
41
#include "jumper.h"
#include "licker.h"
Jumper::Jumper(QObject *parent, QPixmap pix): Unit(pix, parent)
{}
void Jumper::move(){
if(!isLeftBlocked&&horizontalMoveStatus==STOP){// hover
horizontalMoveStatus = LEFT;
}
else if(!isRightBlocked&&horizontalMoveStatus==STOP){
horizontalMoveStatus = RIGHT;
}
if(horizontalMoveStatus != STOP){
moveBy(horizontalMoveStatus * horizontalSpeed, 0);
}
if(!isOnGround){//drop
verticalMoveStatus = DOWN;
if(verticalSpeed < MAXSPEED) verticalSpeed += G;//up is -, down is +
moveBy(0, verticalSpeed);
}
else{
jump();
}
// left out = right in
if(x()<0){
setX(VIEW_WIDTH);
}
else if(x()>VIEW_WIDTH){
setX(1);
}
if(y()<0){
setY(0);
}
else if(y()>VIEW_HEIGHT){
hide();
}
}