-
Notifications
You must be signed in to change notification settings - Fork 0
/
Sniper_Tower.java
46 lines (41 loc) · 1.17 KB
/
Sniper_Tower.java
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
/**
* Vierter Turm, schießt ohne Projektile und hat unendliche Reichweite
* @author Ole, Oskar, Shikri, Timo
* @version 1.0
*/
public class Sniper_Tower extends Towers {
/**
* Constructor für Sniper_Tower:<br>
* -Setzt Range, Nachladezeit und Schaden
*/
public Sniper_Tower() {
//config
range = 2000; //unendlich
reloadTime = 150;
damage = 3;
}
/**
* Act-Methode von Sniper_Tower:<br>
* -Implementiert Nachladezeit<br>
* -Schießt, wenn ein Gegner vorhanden ist und geschossen werden kann
*/
public void act() {
timeSinceLastShot++;
Enemy target = getFurthestEnemyInRange(range);
if (target == null) {return;}
if(timeSinceLastShot>=reloadTime) {
shoot(target);
}
}
/**
* Dreht sich zum Gegner und schießt auf ihn
* @param target Gegner, auf den geschossen wird
*/
public void shoot(Enemy target) {
int rotation = getRotationToTarget(target) + 90;
setRotation(rotation);
target.removeHealth(damage);
target.isDead();
timeSinceLastShot = 0;
}
}