forked from APCSLowell/AsteroidsGame
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUFObullet.pde
121 lines (120 loc) · 3.05 KB
/
UFObullet.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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
class UFObullet extends Floater
{
double dRadians;
boolean check = false;
boolean type1 = false;
boolean type2 = false;
boolean type3 = false;
boolean type4 = false;
public UFObullet(UFO theShip)
{
myCenterX = theShip.getX();
myCenterY = theShip.getY();
myPointDirection = theShip.getPointDirection();
dRadians =myPointDirection*(Math.PI/180);
myDirectionX = 5*Math.cos(Math.atan((ship.getY()-myCenterY)/(ship.getX()-myCenterX)));
myDirectionY = 5*Math.sin(Math.atan((ship.getY()-myCenterY)/(ship.getX()-myCenterX)));
//myDirectionX = 5*Math.cos(Math.atan((ship.getY()-alien.getY())/(ship.getX()-alien.getX())));
//myDirectionY = 5*Math.sin(Math.atan((ship.getY()-alien.getY())/(ship.getX()-alien.getX())));
myColor = 239;
}
public void setX(int x) {
myCenterX=x;
}
public int getX() {
return (int)myCenterX;
}
public void setY(int y) {
myCenterY=y;
}
public int getY() {
return (int)myCenterY;
}
public void setDirectionX(double x) {
myDirectionX=x;
}
public double getDirectionX() {
return myDirectionX;
}
public void setDirectionY(double y) {
myDirectionY=y;
}
public double getDirectionY() {
return myDirectionY;
}
public void setPointDirection(int degrees) {
myPointDirection=degrees;
}
public double getPointDirection() {
return myPointDirection;
}
public void show()
{
fill(68, 214, 55);
stroke(68, 214, 55);
ellipse((float)myCenterX, (float)myCenterY, 15, 15);
fill(255);
stroke(255);
}
public void move(Spaceship ship, UFO mothership)
{
if (check == false)
{
if ((mothership.getX()<ship.getX())&&(mothership.getY()>ship.getY()))
{
check = true;
type1 = true;
}
if ((mothership.getX()>ship.getX())&&(mothership.getY()<ship.getY()))
{
check = true;
type2 = true;
}
if ((mothership.getX()>ship.getX())&&(mothership.getY()>ship.getY()))
{
check = true;
type3 = true;
}
if ((mothership.getX()<ship.getX())&&(mothership.getY()<ship.getY()))
{
check = true;
type4 = true;
}
}
if (check == true)
{
if (type1 == true)
{
myCenterX += myDirectionX;
myCenterY += myDirectionY;
}
if (type2 == true)
{
myCenterX -= myDirectionX;
myCenterY -= myDirectionY;
}
if (type3 == true)//error
{
myCenterX -= myDirectionX;
myCenterY -= myDirectionY;
}
if (type4 == true)
{
myCenterX += myDirectionX;
myCenterY += myDirectionY;
}
}
//if (mothership.getX()>ship.getX())
// myCenterX += myDirectionX;
//else if (mothership.getX()>ship.getX())
// myCenterX += myDirectionX;
//else
// myCenterX += myDirectionX;
//if (mothership.getY()<ship.getY())
// myCenterY += myDirectionY;
//else if (mothership.getY()>ship.getY())
// myCenterY += -myDirectionY;
//else
// myCenterY += myDirectionY;
}
}