04_Praktikum-1_Snake/Spielfeld.java

63 lines
1.4 KiB
Java
Raw Permalink Normal View History

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);
}
}