Repository navigation
Expand file tree
/
Copy pathAlienShip.java
More file actions
82 lines (64 loc) · 3 KB
/
Copy pathAlienShip.java
File metadata and controls
82 lines (64 loc) · 3 KB
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
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class AlienShip extends Ship {
protected JLabel labelUFO;
protected ImageIcon ufo, shieldUFO;
protected boolean isDead;
protected int alienid;
protected int coordX, coordY;
static int ballcounter = 0;
public AlienShip(int x, int y, int id) {
super();
healthPoint = 50;
maxHealthPoint = 50;
alienid = id;
isDead=false;
ufo = new ImageIcon("ufo.png");
shieldUFO = new ImageIcon("ufoshield2.png");
labelUFO = new JLabel(ufo);
coordX = x;
coordY = y;
labelUFO.setBounds(coordX, coordY, ufo.getIconWidth(), ufo.getIconHeight());
}
public void bonds(int x, int y) {
labelUFO.setBounds(x, y, ufo.getIconWidth(), ufo.getIconHeight());
}
public void seticon() {
if (labelUFO.getIcon() == ufo)
labelUFO.setIcon(shieldUFO);
else
labelUFO.setIcon(ufo);
}
public boolean shieldIcon() {
if (labelUFO.getIcon() == shieldUFO) return true;
else return false;
}
public void calculatTargetCoordinates(int x, int y) {
System.out.println(Gui_design.spacecoordx + ", " + Gui_design.spacecoordy);
if(Gui_design.spacecoordy < coordY) { Gui_design.spacecoordy += (Gui_design.spacecoordy - GuiPaintPanel.ballCoordyc[alienid]);}
else {Gui_design.spacecoordy -= (Gui_design.spacecoordy - GuiPaintPanel.ballCoordyc[alienid]); }
Gui_design.spacecoordx -= (GuiPaintPanel.ballCoordxc - Gui_design.spacecoordx);
System.out.println(Gui_design.spacecoordx + ", " + Gui_design.spacecoordy);
}
@Override
protected void hit() {
if (GuiPaintPanel.ball[alienid].x < 0 || GuiPaintPanel.ball[alienid].y < 0 || GuiPaintPanel.ball[alienid].y > 800) {
GuiPaintPanel.ball[alienid].x = GuiPaintPanel.ballCoordxc;
GuiPaintPanel.ball[alienid].y = GuiPaintPanel.ballCoordyc[alienid];
ballcounter++;
}
GuiPaintPanel.ballCoordx[alienid] = 0.01 * (Math.abs(Gui_design.spacecoordx - GuiPaintPanel.ball[alienid].x - ((SpaceShip)Gui_design.s1).spaceShipIcon.getIconWidth()/2));
GuiPaintPanel.ballCoordy[alienid] = 0.01 * (Math.abs(Gui_design.spacecoordy - GuiPaintPanel.ball[alienid].y + ((SpaceShip)Gui_design.s1).spaceShipIcon.getIconHeight()/2));
if (Gui_design.spacecoordy + ((SpaceShip)Gui_design.s1).spaceShipIcon.getIconHeight()/2 > GuiPaintPanel.ballCoordyc[alienid]) {
GuiPaintPanel.ball[alienid].x -= GuiPaintPanel.ballCoordx[alienid];
GuiPaintPanel.ball[alienid].y += GuiPaintPanel.ballCoordy[alienid];
}
else {
GuiPaintPanel.ball[alienid].x -= GuiPaintPanel.ballCoordx[alienid];
GuiPaintPanel.ball[alienid].y -= GuiPaintPanel.ballCoordy[alienid];
}
repaint();
}
}