diff options
Diffstat (limited to 'Alien.java')
| -rw-r--r-- | Alien.java | 44 |
1 files changed, 14 insertions, 30 deletions
@@ -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()); - } } } |
