|
|
|
|
@ -35,14 +35,52 @@ public class DungeonGenerator {
|
|
|
|
|
int roomAmount = (int) (Math.random() * 6) + 5;
|
|
|
|
|
Level tempLevel = new Level(roomAmount);
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < roomAmount; i++){
|
|
|
|
|
Room tempRoom = generateRoom();
|
|
|
|
|
//tempLevel.setRoom(tempRoom, i);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TODO: Zufällig Türen setzen
|
|
|
|
|
for(int i = 0; i < roomAmount; i++){
|
|
|
|
|
int xPos = roomAmount / 2;
|
|
|
|
|
int yPos = roomAmount / 2;
|
|
|
|
|
tempLevel.setRoom(generateRoom(), xPos, yPos);
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < roomAmount;){
|
|
|
|
|
// Zufallszahl für die Richtung wird generiert, Oben: 0, Rechts: 1, Unten: 2, Links: 3
|
|
|
|
|
int direction = (int) (Math.random() * 4);
|
|
|
|
|
|
|
|
|
|
switch (direction) {
|
|
|
|
|
// Oben
|
|
|
|
|
case 0:
|
|
|
|
|
if(yPos != 0){
|
|
|
|
|
yPos -= 1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
// Rechts
|
|
|
|
|
case 1:
|
|
|
|
|
if(xPos != roomAmount){
|
|
|
|
|
xPos += 1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
// Unten
|
|
|
|
|
case 2:
|
|
|
|
|
if(yPos != roomAmount){
|
|
|
|
|
yPos += 1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
// Links
|
|
|
|
|
case 3:
|
|
|
|
|
if(xPos != 0){
|
|
|
|
|
xPos -= 1;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
System.out.println("Die Random Methode ist kacke!!!!!!!!!!!!!!!!!!");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// An der neuen Stelle vom Cursor gibt es noch keinen Raum
|
|
|
|
|
if(tempLevel.getRooms()[xPos][yPos] == null){
|
|
|
|
|
tempLevel.setRoom(generateRoom(), xPos, yPos);
|
|
|
|
|
|
|
|
|
|
// i darf nur erhöht werden, wenn auche in Raum generiert wurde
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return tempLevel;
|
|
|
|
|
@ -50,7 +88,7 @@ public class DungeonGenerator {
|
|
|
|
|
|
|
|
|
|
private Room generateRoom(){
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
return new Room(null, null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private int[] generatePos(int sizeX, int sizeY, int tileSize){
|
|
|
|
|
@ -70,10 +108,18 @@ public class DungeonGenerator {
|
|
|
|
|
Level temp = d.getLevel()[i];
|
|
|
|
|
System.out.println("Level " + i);
|
|
|
|
|
|
|
|
|
|
for(int j=0;j<temp.getRooms().length;j++){
|
|
|
|
|
//Room tempRoom = temp.getRooms()[j];
|
|
|
|
|
System.out.println(" Room " + j);
|
|
|
|
|
for(int j = 0; j < temp.getRooms().length; j++){
|
|
|
|
|
//System.out.print(knoten[i].gebeName() + " ");
|
|
|
|
|
for(int k = 0; k < temp.getRooms().length; k++){
|
|
|
|
|
if(temp.getRooms()[j][k] == null){
|
|
|
|
|
System.out.print("0 ");
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
System.out.print("1 ");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
System.out.println();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|