-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathShip.pde
65 lines (57 loc) · 1.77 KB
/
Ship.pde
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
class Ship {
int speedL = 10;
int speedR = 10;
int shipSize = 15;
int posX;
int posY;
int life;
boolean upGrade = false;
Ship(int x, int y, int l) {
this.posX = x;
this.posY = y;
life = l;
}
void display() {
if (!upGrade) {
fill(230, 74, 96);
triangle(posX, posY-shipSize, posX-shipSize/2, posY-shipSize/2, posX+shipSize/2, posY-shipSize/2);
triangle(posX-shipSize/2, posY+shipSize/2-2, posX-shipSize, posY+shipSize-2, posX-shipSize/2, posY+shipSize-2);
triangle(posX+shipSize/2, posY+shipSize/2-2, posX+shipSize, posY+shipSize-2, posX+shipSize/2, posY+shipSize-2);
fill(255, 255, 255);
rect(posX, posY+shipSize/4, shipSize, shipSize/4*6.6);
fill(76, 120, 168);
ellipse(posX, posY, shipSize/2, shipSize/2);
}else{
fill(0, 161, 255);
triangle(posX, posY-shipSize, posX-shipSize/2, posY-shipSize/2, posX+shipSize/2, posY-shipSize/2);
triangle(posX-shipSize/2, posY+shipSize/2-10, posX-shipSize, posY+shipSize-2, posX-shipSize/2, posY+shipSize-2);
triangle(posX+shipSize/2, posY+shipSize/2-10, posX+shipSize, posY+shipSize-2, posX+shipSize/2, posY+shipSize-2);
fill(255, 255, 255);
rect(posX, posY+shipSize/4, shipSize, shipSize/4*6.6);
fill(76, 120, 168);
ellipse(posX, posY, shipSize/2, shipSize/2);
}
}
void keyTyped() {
//Limit Ship Position
if (posX+shipSize >= 640) {
speedR = 0;
} else if (posX-shipSize <= 0) {
speedL = 0;
} else if (posX-shipSize > 0 && posX+shipSize<640) {
speedL = 10;
speedR = 10;
}
//Ship Ctrl
if (key == CODED) {
switch(keyCode) {
case LEFT:
this.posX -= speedL;
break;
case RIGHT:
this.posX += speedR;
break;
}
}
}
}