aboutsummaryrefslogtreecommitdiff
path: root/Auto.java
blob: 2441178c84941f40edf58130c58b6192c6a79e12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot und MouseInfo)

/**
 * Steuerbares Auto.
 */
public class Auto extends Actor
{
    int geschwindigkeit;
    String farbe = "blau";

    /**
     * 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();
    }

    
    
    
    
    
    
    
    
    
    
    
    
    
    

    void setzeFarbe(String farbe) {
        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");
        }
        else {
            
        }
    }

    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)) {
            getWorld().addObject(new Explosion(), getX(), getY());
            removeTouching(Rakete.class);
            getWorld().removeObject(this);
        }
    }
}