aboutsummaryrefslogtreecommitdiff
path: root/Alien.java
diff options
context:
space:
mode:
Diffstat (limited to 'Alien.java')
-rw-r--r--Alien.java44
1 files changed, 14 insertions, 30 deletions
diff --git a/Alien.java b/Alien.java
index 06775b8..4f910bf 100644
--- a/Alien.java
+++ b/Alien.java
@@ -5,9 +5,9 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot und MouseInfo)
*/
public class Alien extends Actor
{
-
+
int geschwindigkeit = 2;
-
+
/**
* Act - tut, was auch immer Alien tun will. Diese Methode wird aufgerufen,
* sobald der 'Act' oder 'Run' Button in der Umgebung angeklickt werden.
@@ -16,10 +16,8 @@ public class Alien extends Actor
{
bewegen();
schiessen();
- pruefeSieg();
- pruefeKollision();
}
-
+
/**
* Das Alien bewegt sich mit der aktuellen Geschwindigkeit in X-Richtung.
* Falls es einen Rand beruehrt wechselt es in die naechste Zeile und
@@ -35,43 +33,29 @@ public class Alien extends Actor
setLocation(getX() + geschwindigkeit, getY() + 36);
}
}
-
+
/**
- * Wenn ein Alien den unteren Rand des Bildschirms erreicht, ist das Spiel
- * verloren.
+ * Feuert mit einer Wahrscheinlichkeit von 0,04% einen Schuss ab.
*/
- private void pruefeSieg()
+ private void schiessen()
{
- if (getY() >= 590)
+ if (Greenfoot.getRandomNumber(10000) <= 4)
{
- ((MyWorld)getWorld()).verloren();
+ getWorld().addObject(new Laser(-5), getX(),getY());
}
}
-
+
/**
- * Ueberprueft ob ein Alien von einem Projektil getroffen wurde.
+ * Wenn ein Alien den unteren Rand des Bildschirms erreicht, ist das Spiel verloren
*/
- private void pruefeKollision()
+ private void pruefeSieg()
{
- if (isTouching(Laser.class))
- {
- removeTouching(Laser.class); // Projektil wird zerstört
- Greenfoot.playSound("Explosion.wav");
- ((MyWorld)getWorld()).erhoehePunkte(50); // Spieler bekommt Punkte
- ((MyWorld)getWorld()).reduziereAlienAnzahl();
- getWorld().removeObject(this); // Das Alien selber wird zerstört
- }
}
-
+
/**
- * Feuert einen Schuss ab mit einer Wahrscheinlichkeit von 0.04%.
+ * Ueberprueft ob ein Alien von einem Projektil getroffen wurde
*/
- private void schiessen()
+ private void pruefeKollision()
{
- if (Greenfoot.getRandomNumber(10000) <= 4)
- {
- Lazer lazer = new Lazer();
- getWorld().addObject(lazer, getX(),getY());
- }
}
}