aboutsummaryrefslogtreecommitdiff
path: root/Laser.java
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-07-12 23:26:08 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2024-07-12 23:49:24 +0200
commit6bd59689a2366fe24c1e92debee74dc1409758a7 (patch)
treeb9a73dff6b219f41fae6fc53a812feb4dfa6bf82 /Laser.java
parentcb14c229e6e39bbae9d5aa3f3e3d2e8ac842609b (diff)
downloadspaceinvaders-6bd59689a2366fe24c1e92debee74dc1409758a7.tar.gz
spaceinvaders-6bd59689a2366fe24c1e92debee74dc1409758a7.zip
remove Lazer and Projektil class, collision detection and victory logicvorlage3
Diffstat (limited to 'Laser.java')
-rw-r--r--Laser.java32
1 files changed, 27 insertions, 5 deletions
diff --git a/Laser.java b/Laser.java
index 9dd02ef..825f142 100644
--- a/Laser.java
+++ b/Laser.java
@@ -1,11 +1,33 @@
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot und MouseInfo)
-
/**
- * Projektile des Raumschiffs.
+ * Ein Laser bewegt sich mit seiner aktuellen Geschwindigkeit nach unten oder untern.
+ *
*/
-public class Laser extends Projektil
+public class Laser extends Actor
{
- public Laser() {
- geschwindigkeit = 6;
+ int geschwindigkeit = 1;
+
+ /**
+ * Konstruktor der Klasse Laser.
+ */
+ public Laser (int neueGeschwindigkeit) {
+ geschwindigkeit = neueGeschwindigkeit;
+ }
+ /**
+ * Act - bewegt den Laser. Diese Methode wird aufgerufen,
+ * sobald der 'Act' oder 'Run' Button in der Umgebung angeklickt werden.
+ */
+ public void act()
+ {
+ bewegen();
+ }
+
+ private void bewegen()
+ {
+ setLocation(getX(), getY() - geschwindigkeit);
+ if (getY() == 0 || getY() == 599)
+ {
+ getWorld().removeObject(this);
+ }
}
}