Skip to content

Commit 26a1029

Browse files
committed
Added projectile firing rate
Moved back the origin of the projectile to the centre.
1 parent 419571b commit 26a1029

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

src/com/redomar/game/entities/Player.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.redomar.game.InputHandler;
55
import com.redomar.game.entities.efx.Swim;
66
import com.redomar.game.entities.projectiles.Projectile;
7+
import com.redomar.game.entities.projectiles.Small;
78
import com.redomar.game.gfx.Colours;
89
import com.redomar.game.gfx.Screen;
910
import com.redomar.game.level.LevelHandler;
@@ -26,6 +27,7 @@ public class Player extends Mob {
2627
private boolean[] swimType;
2728
private int[] swimColour;
2829
private static int[] collisionBoders = {-2, 8, 0, 7};
30+
private int fireRate = 0;
2931

3032
public static String guestPlayerName = customeName.setName("Player ");
3133

@@ -37,6 +39,7 @@ public Player(LevelHandler level, int x, int y, InputHandler input,
3739
this.faceCol = faceCol;
3840
this.shirtCol = shirtCol;
3941
this.colour = Colours.get(-1, 111, shirtCol, faceCol);
42+
fireRate = Small.FIRE_RATE;
4043
}
4144

4245
public void tick() {
@@ -58,11 +61,14 @@ public void tick() {
5861
}
5962
}
6063

61-
if (Game.getMouse().getButton() == 1){
64+
if(fireRate > 0) fireRate--;
65+
66+
if (Game.getMouse().getButton() == 1 && fireRate <= 0){
6267
double dx = Game.getMouse().getX() - 480/2;
6368
double dy = Game.getMouse().getY() - 320/2;
6469
double dir = Math.atan2(dy, dx);
6570
shoot(x, y, dir);
71+
fireRate = Small.FIRE_RATE;
6672
}
6773

6874
for (int i = 0; i < projectiles.size(); i++) {

src/com/redomar/game/entities/projectiles/Projectile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public abstract class Projectile extends Entity{
1010
protected final double xOrigin, yOrigin;
1111
protected double angle;
1212
protected double nx, ny;
13-
protected double speed, rate, range, damage, distance;
13+
protected double speed, range, damage, distance;
1414
protected Random life = new Random();
1515

1616
private boolean removed = false;

src/com/redomar/game/entities/projectiles/Small.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55
import com.redomar.game.level.LevelHandler;
66

77
public class Small extends Projectile{
8+
9+
public static final int FIRE_RATE = 12;
810

911
public Small(LevelHandler level, int x, int y, double dir) {
1012
super(level, x, y, dir);
11-
range = life.nextInt(25) + 50;
13+
range = 50 + life.nextInt(5);
1214
damage = 20;
13-
rate = 15;
14-
speed = 4;
15+
speed = 3;
1516

1617
nx = speed * Math.cos(angle);
1718
ny = speed * Math.sin(angle);
@@ -31,7 +32,7 @@ protected void move(){
3132
}
3233

3334
public void render(Screen screen) {
34-
screen.render((int)x + 6,(int)y, 8 * 32, Colours.get(-1, 222, 333, 555), 0x00, 1);
35+
screen.render((int)x,(int)y, 8 * 32, Colours.get(-1, 222, 333, 555), 0x00, 1);
3536
}
3637

3738
}

0 commit comments

Comments
 (0)