Der Generator generiert

master
Jonathan Hager 6 years ago
parent c47a58a2d9
commit 4c144772c2

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

@ -32,9 +32,9 @@ public class Level {
this.rooms = rooms;
}
public void setRoom(Room room, int i, int j){
if(i < this.rooms.length){
this.rooms[i][j] = room;
public void setRoom(Room room, int x, int y){
if(x < this.rooms.length){
this.rooms[x][y] = room;
}
}

Loading…
Cancel
Save