import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot und MouseInfo) /** * Steuerbares Auto. */ public class Auto extends Actor { int geschwindigkeit; String farbe = "blau"; /** * TODO: Konstruktor der Klasse Auto */ /** * Act - tut, was auch immer Auto tun will. Diese Methode wird aufgerufen, * sobald der 'Act' oder 'Run' Button in der Umgebung angeklickt werden. */ public void act() { pruefeTastatur(); bewegen(); pruefeKollision(); pruefeMaus(); } void setzeFarbe(String neueFarbe) { farbe = neueFarbe; if (farbe.equals("blau")) { setImage("car01-n.png"); } else if (farbe.equals("rot")) { setImage("car02-n.png"); } else if (farbe.equals("gruen")) { setImage("car03-n.png"); } } void pruefeTastatur() { if (Greenfoot.isKeyDown("left")) { turn(-3); } if (Greenfoot.isKeyDown("right")) { turn(3); } } void bewegen() { // Die Orientierung des Objekts und des Bildes sind um 90 Grad versetzt int rotation = getRotation(); setRotation(rotation-90); move(geschwindigkeit); setRotation(rotation); if (isTouching(Ziel.class)) { ((Rennbahn)getWorld()).angekommen(this); } } void pruefeKollision() { if (isTouching(Rakete.class)) { explodieren(); } } private void explodieren() { getWorld().addObject(new Explosion(), getX(), getY()); removeTouching(Rakete.class); getWorld().removeObject(this); } int clicked = 0; private void pruefeMaus() { if (Greenfoot.mouseClicked(this)) { clicked++; if (clicked == 3) { explodieren(); } } } }