aboutsummaryrefslogtreecommitdiff
path: root/MyWorld.java
blob: 5f7feef272e07f8ab483c9b9a11495fabb1888aa (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
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot und MouseInfo)

/**
 * Die Klasse MyWorld verwaltet alle Objekte des Spiels.
 * 
 * @author Michael Arnot
 * @author Florian Fischer 
 * @version 2024-06-14
 */
public class MyWorld extends World
{
    int alienAnzahl = 0;
    int zeit = 0;

    /**
     * Konstruktor für Objekte der Klasse MyWorld
     * 
     * Bereite die Welt fuer den Programmstart vor.
     * Das heisst: Erzeuge die Anfangs-Objekte und fuege sie der Welt hinzu.
     */
    public MyWorld()
    {    
        // Erstellt eine neue Welt mit 600x400 Zellen und einer Zell-Groesse von 1x1 Pixeln.
        super(600, 600, 1); 
        getBackground().setColor(Color.BLACK);
        getBackground().fill();

        Raumschiff raumschiff = new Raumschiff();
        addObject(raumschiff, 300,565);

        for (int zeile = 0; zeile < 5; zeile++)
        {
            for (int spalte = 0; spalte < 10; spalte++)
            {
                addObject(new Alien(), 118 + spalte*42, 50 + zeile*38);
                alienAnzahl++;
            }
        }
    }

    public void act()
    {
        zeit++;

        showText("Zeit", 500, 20);
        showText("" + zeit/50, 500, 40);
    }

    public void reduziereAlienAnzahl()
    {
        alienAnzahl--;
    }

    private void gewonnen()
    {
        showText("V I C T O R Y", 300, 300);
        Greenfoot.stop();            
    }

    /*
     * Der Spieler hat verloren und die "Aliens" haben den Planeten erreicht
     */
    public void verloren()
    {
        showText("G A M E   O V E R", 300, 300);
        Greenfoot.stop();
    }
}