2017-09-17 17:06:21 +02:00
|
|
|
import java.awt.Point;
|
2019-09-12 07:52:17 +02:00
|
|
|
import java.util.Random;
|
2017-09-17 17:06:21 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Enthaelt Angaben zum Spielfeld
|
|
|
|
*/
|
|
|
|
public class Spielfeld {
|
|
|
|
private int hoehe;
|
|
|
|
private int breite;
|
2019-09-12 07:52:17 +02:00
|
|
|
private Random random = new Random();
|
|
|
|
|
2017-09-17 17:06:21 +02:00
|
|
|
/**
|
|
|
|
* Konstruiert ein Spielfeld mit der gegebenen Breite
|
|
|
|
* und Hoehe.
|
2019-09-12 07:52:17 +02:00
|
|
|
*
|
2017-09-17 17:06:21 +02:00
|
|
|
* @param breite Breite des Spielfelds
|
2019-09-12 07:52:17 +02:00
|
|
|
* @param hoehe Hoehe des Spielfelds
|
2017-09-17 17:06:21 +02:00
|
|
|
*/
|
2019-09-12 07:52:17 +02:00
|
|
|
public Spielfeld(int breite, int hoehe) {
|
2017-09-17 17:06:21 +02:00
|
|
|
this.hoehe = hoehe;
|
|
|
|
this.breite = breite;
|
|
|
|
}
|
2019-09-12 07:52:17 +02:00
|
|
|
|
2017-09-17 17:06:21 +02:00
|
|
|
/**
|
|
|
|
* Gibt die Spielfeldhoehe zurueck
|
2019-09-12 07:52:17 +02:00
|
|
|
*
|
2017-09-17 17:06:21 +02:00
|
|
|
* @return die Hoehe des Spielfelds
|
|
|
|
*/
|
|
|
|
public int gibHoehe() {
|
|
|
|
return hoehe;
|
|
|
|
}
|
2019-09-12 07:52:17 +02:00
|
|
|
|
2017-09-17 17:06:21 +02:00
|
|
|
/**
|
|
|
|
* Gibt die Spielfeldbreite zurueck
|
2019-09-12 07:52:17 +02:00
|
|
|
*
|
2017-09-17 17:06:21 +02:00
|
|
|
* @return die Breite des Spielfelds
|
|
|
|
*/
|
|
|
|
public int gibBreite() {
|
|
|
|
return breite;
|
|
|
|
}
|
2019-09-12 07:52:17 +02:00
|
|
|
|
2017-09-17 17:06:21 +02:00
|
|
|
/**
|
|
|
|
* Testet, ob ein gegebener Standort innerhalb des Spielfelds ist.
|
2019-09-12 07:52:17 +02:00
|
|
|
*
|
2017-09-17 17:06:21 +02:00
|
|
|
* @param p zu pruefender Standort
|
|
|
|
* @return true, falls der Standort innerhalb des Spielfelds ist
|
|
|
|
*/
|
|
|
|
public boolean istPunktInSpielfeld(Point p) {
|
2019-09-12 07:52:17 +02:00
|
|
|
return p.x >= 0 && p.x < breite && p.y >= 0 && p.y < hoehe;
|
2017-09-17 17:06:21 +02:00
|
|
|
}
|
2019-09-12 07:52:17 +02:00
|
|
|
|
2017-09-17 17:06:21 +02:00
|
|
|
/**
|
2019-09-12 07:52:17 +02:00
|
|
|
* Erzeugt ein Point-Objekt, welches einen zufaelligen
|
|
|
|
* Standort innerhalb des Spielfelds repraesentiert.
|
|
|
|
*
|
2017-09-17 17:06:21 +02:00
|
|
|
* @return zufaelliger Standort innerhalb des Spielfelds
|
|
|
|
*/
|
2019-09-12 07:52:17 +02:00
|
|
|
public Point erzeugeZufallspunktInnerhalb() {
|
|
|
|
int xKoordinate = random.nextInt(this.breite);
|
|
|
|
int yKoordinate = random.nextInt(this.hoehe);
|
2017-09-17 17:06:21 +02:00
|
|
|
return new Point(xKoordinate, yKoordinate);
|
|
|
|
}
|
|
|
|
}
|