67 lines
1.3 KiB
Java
67 lines
1.3 KiB
Java
package pr2.collections.iterieren;
|
|
|
|
import de.smits_net.games.framework.board.Board;
|
|
import de.smits_net.games.framework.sprite.Sprite;
|
|
|
|
import java.awt.Color;
|
|
import java.awt.Dimension;
|
|
import java.awt.Graphics;
|
|
import java.util.Iterator;
|
|
|
|
/**
|
|
* Spielfeld.
|
|
*/
|
|
public class GameBoard extends Board {
|
|
|
|
/**
|
|
* Anzahl der Münzen.
|
|
*/
|
|
private static final int NUM_COINS = 1000;
|
|
|
|
/**
|
|
* Münzgenerator.
|
|
*/
|
|
private final CoinGenerator generator;
|
|
|
|
/**
|
|
* Münzen auf dem Spielfeld.
|
|
*/
|
|
private final Sprite[] coins = new Sprite[NUM_COINS];
|
|
|
|
/**
|
|
* Erzeugt ein neues Board.
|
|
*/
|
|
public GameBoard() {
|
|
// neues Spielfeld anlegen
|
|
super(10, new Dimension(600, 600), Color.BLACK);
|
|
|
|
generator = new CoinGenerator(this, NUM_COINS);
|
|
|
|
int count = 0;
|
|
Iterator<Sprite> it = generator.iterator();
|
|
|
|
while (it.hasNext()) {
|
|
coins[count++] = it.next();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* Spielfeld neu zeichnen. Wird vom Framework aufgerufen.
|
|
*/
|
|
@Override
|
|
public synchronized void drawGame(Graphics g) {
|
|
for (Sprite sprite : coins) {
|
|
sprite.draw(g);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Spielsituation updaten. Wird vom Framework aufgerufen.
|
|
*/
|
|
@Override
|
|
public boolean updateGame() {
|
|
return true;
|
|
}
|
|
}
|