gegner generieren gefixt

master
Jonathan Hager 6 years ago
parent 3ccedc0f7a
commit f285b36c57

@ -45,7 +45,7 @@ public class DungeonGenerator {
int xPos = roomAmount / 2; int xPos = roomAmount / 2;
int yPos = roomAmount / 2; int yPos = roomAmount / 2;
tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl), xPos, yPos); tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl, false), xPos, yPos);
// Schleife läuft so lange, bis die entsprechende Anzahl an Räumen generiert wurde // Schleife läuft so lange, bis die entsprechende Anzahl an Räumen generiert wurde
for(int i = 1; i < roomAmount;){ for(int i = 1; i < roomAmount;){
@ -82,7 +82,7 @@ public class DungeonGenerator {
// An der neuen Stelle vom Cursor gibt es noch keinen Raum // An der neuen Stelle vom Cursor gibt es noch keinen Raum
if(tempLevel.getRooms()[xPos][yPos] == null){ if(tempLevel.getRooms()[xPos][yPos] == null){
tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl), xPos, yPos); tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl, true), xPos, yPos);
// i darf nur erhöht werden, wenn auch ein Raum generiert wurde // i darf nur erhöht werden, wenn auch ein Raum generiert wurde
i++; i++;
@ -148,7 +148,7 @@ public class DungeonGenerator {
// An der neuen Stelle vom Cursor gibt es noch keinen Raum // An der neuen Stelle vom Cursor gibt es noch keinen Raum
if(tempLevel.getRooms()[xPos][yPos] == null){ if(tempLevel.getRooms()[xPos][yPos] == null){
tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl), xPos, yPos); tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl, false), xPos, yPos);
tempLevel.setExit(xPos, 0); tempLevel.setExit(xPos, 0);
tempLevel.setExit(yPos, 1); tempLevel.setExit(yPos, 1);
@ -161,12 +161,13 @@ public class DungeonGenerator {
return tempLevel; return tempLevel;
} }
private Room generateRoom(int sizeX, int sizeY, int tileSize, int lvl){ private Room generateRoom(int sizeX, int sizeY, int tileSize, int lvl, boolean allowEnemies){
int itemAmount = (int) (Math.random() * 2); int itemAmount = (int) (Math.random() * 2);
int enemyAmount = (int) (Math.random() * 5); int enemyAmount = (int) (Math.random() * 5);
Room tempRoom = new Room(new ArrayList<ItemContainer>(itemAmount), new Entity[15]); Room tempRoom = new Room(new ArrayList<ItemContainer>(itemAmount), new Entity[15]);
if(allowEnemies){
// Items werden generiert // Items werden generiert
int[][] belegt = new int[itemAmount][2]; int[][] belegt = new int[itemAmount][2];
for(int j = 0; j < belegt.length; j++){ for(int j = 0; j < belegt.length; j++){
@ -338,6 +339,7 @@ public class DungeonGenerator {
tempRoom.setEnemies(temp, i); tempRoom.setEnemies(temp, i);
} }
}
return tempRoom; return tempRoom;
} }

Loading…
Cancel
Save