* @return Liste mit generierten Obstacles.
*/
private List<Obstacle> generateRandomObstacles(int obsCount) {
List<Obstacle> randObsList = new ArrayList<Obstacle>();
Obstacle tempObs = new Obstacle(0, 0);
int obsWidth = tempObs.getActiveBounds().width;
int obsHeight = tempObs.getActiveBounds().height;
int posXmax = arenaGui.getCanArena().getBounds().width - obsWidth;
int posYmax = arenaGui.getCanArena().getBounds().height - obsHeight;
int randPosX;
int randPosY;
Random rand = new Random();
boolean collisionDetected = false;
Obstacle newRandObs;
long startTime = System.currentTimeMillis();
// maximale Laufzeit f�r die Generierung, falls durch
// die Zufallspositionen zu viele Kollisionen zwischen den Obstacles
// auftreten oder die Fl�che vollst�ndig belegt ist mit Obstacles.
long maxTime = 100;
long timeDiff = 0;
int obsNr = 1;
while (obsNr <= obsCount && timeDiff < maxTime) {
randPosX = (int) (rand.nextInt(posXmax) + ((double) obsWidth / 2));
randPosY = (int) (rand.nextInt(posYmax) + ((double) obsHeight / 2));
newRandObs = new Obstacle(randPosX, randPosY);
collisionDetected = false;
for (Obstacle randObs : randObsList) {
if (randObs.getActiveBounds().intersects(
newRandObs.getActiveBounds())) {
collisionDetected = true;
}
}
if (!collisionDetected) {
randObsList.add(newRandObs);