68 lines
1.6 KiB
Java
68 lines
1.6 KiB
Java
package pr2.lambda.nonstatic;
|
|
|
|
import de.smits_net.games.framework.board.Board;
|
|
import de.smits_net.games.framework.image.AnimatedImage;
|
|
import de.smits_net.games.framework.image.ImagePack;
|
|
import de.smits_net.games.framework.image.StripedImage;
|
|
import de.smits_net.games.framework.sprite.AnimatedSprite;
|
|
import de.smits_net.games.framework.sprite.Direction;
|
|
|
|
import java.awt.Color;
|
|
import java.awt.Dimension;
|
|
import java.awt.Graphics;
|
|
import java.awt.Point;
|
|
import java.util.Random;
|
|
|
|
/**
|
|
* Spielfeld.
|
|
*/
|
|
public class GameBoard extends Board {
|
|
|
|
/**
|
|
* Alien, das durch das Bild läuft.
|
|
*/
|
|
private final Alien alien;
|
|
|
|
/**
|
|
* Erzeugt ein neues Board.
|
|
*/
|
|
public GameBoard() {
|
|
// neues Spielfeld anlegen
|
|
super(10, new Dimension(800, 300), Color.BLACK);
|
|
|
|
// Alien initialisieren
|
|
alien = new Alien(this, new Point(800, 50 + new Random().nextInt(100)));
|
|
|
|
// Alien soll auf Maus-Klicks reagieren
|
|
addMouseListener(alien);
|
|
}
|
|
|
|
/**
|
|
* Spielfeld neu zeichnen. Wird vom Framework aufgerufen.
|
|
*/
|
|
@Override
|
|
public void drawGame(Graphics g) {
|
|
// Alien zeichnen
|
|
alien.draw(g, this);
|
|
}
|
|
|
|
/**
|
|
* Game-Over-Text anzeigen. Wird vom Framework aufgerufen.
|
|
*/
|
|
@Override
|
|
public void drawGameOver(Graphics g) {
|
|
centerText(g, "Das Spiel ist aus!");
|
|
}
|
|
|
|
/**
|
|
* Spielsituation updaten. Wird vom Framework aufgerufen.
|
|
*/
|
|
@Override
|
|
public boolean updateGame() {
|
|
alien.move();
|
|
return alien.isVisible();
|
|
}
|
|
|
|
// TODO: Alien zu einer non-static class machen
|
|
}
|