Add second year
This commit is contained in:
55
second/semester2/CT255/Assignments/Assigment-05/Alien.java
Normal file
55
second/semester2/CT255/Assignments/Assigment-05/Alien.java
Normal file
@ -0,0 +1,55 @@
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
|
||||
public class Alien extends Sprite2D {
|
||||
public static long framesDrawn = 0; // variable to hold the number of frames drawn
|
||||
public static int aliensKilled = 0; // static variable to hold the count of the aliens killed - in alien class as it's intended to be modified by aliens
|
||||
public static int stepSize = 0; // how far the aliens move each frame - 0 by default but will get increased to 5 immediately
|
||||
private Image altImage;
|
||||
|
||||
public Alien(Image image, Image altImage) {
|
||||
super(image);
|
||||
this.altImage = altImage;
|
||||
}
|
||||
|
||||
// method to randomly move the alien
|
||||
public void move(boolean right) {
|
||||
// changing the x & y co-ordinates (inherited from superclass) by either plus or minus the stepSize, depending on the direction
|
||||
if (right) {
|
||||
x += stepSize;
|
||||
}
|
||||
else {
|
||||
x -= stepSize;
|
||||
}
|
||||
}
|
||||
|
||||
// method to move aliend down
|
||||
public void moveDown() {
|
||||
y += 25;
|
||||
}
|
||||
|
||||
// overridden paint method to allow animation
|
||||
@Override
|
||||
public void paint(Graphics g) {
|
||||
framesDrawn++;
|
||||
|
||||
if (framesDrawn % 100 < 50) {
|
||||
g.drawImage(image, x, y, null);
|
||||
}
|
||||
else {
|
||||
g.drawImage(altImage, x, y, null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
// overridden kill method to set isAlive to false and increment the aliensKilled counter
|
||||
public void kill() {
|
||||
isAlive = false;
|
||||
aliensKilled++;
|
||||
}
|
||||
|
||||
// method to increase the stepsize of the aliens
|
||||
public static void speedUp() {
|
||||
stepSize = stepSize + 3;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user