uebungen/sources/src/main/java/pr2/lambda/nonstatic/GameBoard.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
}