import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot und MouseInfo) /** * Aliens bewegen sich von links nach rechts bis zum unteren Bildschirmrand. */ 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. */ public void act() { bewegen(); schiessen(); } /** * Das Alien bewegt sich mit der aktuellen Geschwindigkeit in X-Richtung. * Falls es einen Rand beruehrt wechselt es in die naechste Zeile und * invertiert die Geschwindigkeit. */ private void bewegen() { setLocation((getX() + geschwindigkeit), getY()); // Das Alien hat einen Seitenrand erreicht if (getX() == 599 || getX() == 0) { geschwindigkeit = geschwindigkeit * -1; setLocation(getX() + geschwindigkeit, getY() + 36); } } /** * Feuert mit einer Wahrscheinlichkeit von 0,04% einen Schuss ab. */ private void schiessen() { if (Greenfoot.getRandomNumber(10000) <= 4) { getWorld().addObject(new Laser(-5), getX(),getY()); } } /** * Wenn ein Alien den unteren Rand des Bildschirms erreicht, ist das Spiel verloren */ private void pruefeSieg() { } /** * Ueberprueft ob ein Alien von einem Projektil getroffen wurde */ private void pruefeKollision() { } }