From aaef5ea715c46f12bb95cfdfb3616f0dc79beab4 Mon Sep 17 00:00:00 2001 From: Jonathan Hager Date: Sun, 26 Apr 2020 13:39:08 +0200 Subject: [PATCH] Grafiken sind jetzt richtig geil --- core/assets/tileset_floor_1.png | Bin 27022 -> 26720 bytes .../model/DungeonGenerator.java | 86 ++++++++++-------- .../com/dungeoncrawler/view/MapGenerator.java | 79 ++++++++++++---- 3 files changed, 109 insertions(+), 56 deletions(-) diff --git a/core/assets/tileset_floor_1.png b/core/assets/tileset_floor_1.png index 50a789713173d748962b3c2f7f8a4336b57a864d..6b62facf4f20727668bf3c9bac29195652e0e91f 100644 GIT binary patch literal 26720 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 y{9V>_EZ(*g)NqE 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 TDDu(cWB?@vb@?h;vylG*u}BKh diff --git a/core/src/com/dungeoncrawler/model/DungeonGenerator.java b/core/src/com/dungeoncrawler/model/DungeonGenerator.java index 64bf530..38ffa29 100644 --- a/core/src/com/dungeoncrawler/model/DungeonGenerator.java +++ b/core/src/com/dungeoncrawler/model/DungeonGenerator.java @@ -86,48 +86,54 @@ public class DungeonGenerator { } // Exit wird generiert - boolean istFertig = false; - do{ - // Zufallszahl für die Richtung wird generiert, Oben: 0, Rechts: 1, Unten: 2, Links: 3 - int direction = (int) (Math.random() * 4); + if(lvl >= 7){ + tempLevel.setExit(-1, 0); + tempLevel.setExit(-1, 1); + } + else{ + boolean istFertig = false; + do{ + // 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 != roomAmount - 1){ - yPos += 1; - } - break; - // Rechts - case 1: - if(xPos != roomAmount - 1){ - xPos += 1; - } - break; - // Unten - case 2: - if(yPos != 0){ - yPos -= 1; - } - break; - // Links - case 3: - if(xPos != 0){ - xPos -= 1; - } - break; - } + switch (direction) { + // Oben + case 0: + if(yPos != roomAmount - 1){ + yPos += 1; + } + break; + // Rechts + case 1: + if(xPos != roomAmount - 1){ + xPos += 1; + } + break; + // Unten + case 2: + if(yPos != 0){ + yPos -= 1; + } + break; + // Links + case 3: + if(xPos != 0){ + xPos -= 1; + } + break; + } - // An der neuen Stelle vom Cursor gibt es noch keinen Raum - if(tempLevel.getRooms()[xPos][yPos] == null){ - tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl), xPos, yPos); - - tempLevel.setExit(xPos, 0); - tempLevel.setExit(yPos, 1); - - istFertig = true; - } - } while(!istFertig); + // An der neuen Stelle vom Cursor gibt es noch keinen Raum + if(tempLevel.getRooms()[xPos][yPos] == null){ + tempLevel.setRoom(generateRoom(sizeX, sizeY, tileSize, lvl), xPos, yPos); + + tempLevel.setExit(xPos, 0); + tempLevel.setExit(yPos, 1); + + istFertig = true; + } + } while(!istFertig); + } return tempLevel; } diff --git a/core/src/com/dungeoncrawler/view/MapGenerator.java b/core/src/com/dungeoncrawler/view/MapGenerator.java index 56bdac9..5142b50 100644 --- a/core/src/com/dungeoncrawler/view/MapGenerator.java +++ b/core/src/com/dungeoncrawler/view/MapGenerator.java @@ -78,12 +78,24 @@ public class MapGenerator { // Ausgang oben if(y < l.getRooms()[0].length - 1 && l.getRooms()[x][y + 1] != null){ - // X: Exakte Mitte der Gesamtlänge, Y: Gesamtlänge - staticLayer.getCell((tempX / 2) + 1, tempY).setTile(new StaticTiledMapTile(splitTiles[0][3])); //oben1 - staticLayer.getCell((tempX / 2) + 1, tempY + 1).setTile(new StaticTiledMapTile(splitTiles[1][1])); //oben2 - staticLayer.getCell((tempX / 2) + 1, tempY + 2).setTile(new StaticTiledMapTile(splitTiles[0][1])); //oben3 - collisionLayer.getObjects().remove(top); + if(x == l.getExit()[0] && y+1 == l.getExit()[1]){ + staticLayer.getCell((tempX / 2) + 1, tempY + 1).setTile(new StaticTiledMapTile(splitTiles[1][5])); //oben1 + staticLayer.getCell((tempX / 2) + 1, tempY + 2).setTile(new StaticTiledMapTile(splitTiles[0][5])); //oben2 + staticLayer.getCell((tempX / 2) + 1, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[4][3])); //oben3 + staticLayer.getCell((tempX / 2) + 0, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[3][5])); //oben3-1 + staticLayer.getCell((tempX / 2) + 2, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[2][5])); //oben3+1 + } + else{ + // X: Exakte Mitte der Gesamtlänge, Y: Gesamtlänge + staticLayer.getCell((tempX / 2) + 1, tempY + 1).setTile(new StaticTiledMapTile(splitTiles[0][0])); //oben1 + staticLayer.getCell((tempX / 2) + 1, tempY + 2).setTile(new StaticTiledMapTile(splitTiles[0][0])); //oben2 + staticLayer.getCell((tempX / 2) + 1, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[0][0])); //oben3 + staticLayer.getCell((tempX / 2) + 0, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[3][5])); //oben3-1 + staticLayer.getCell((tempX / 2) + 2, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[2][5])); //oben3+1 + } + collisionLayer.getObjects().remove(top); + RectangleMapObject tempLeft = new RectangleMapObject(0, mapDimensionY*48 - 48, (mapDimensionX / 2) * 48, 48); RectangleMapObject tempRight = new RectangleMapObject(((mapDimensionX / 2) + 1) * 48, mapDimensionY*48 - 48, (mapDimensionX / 2) * 48, 48); @@ -94,8 +106,17 @@ public class MapGenerator { // Ausgang rechts if(x < l.getRooms().length - 1 && l.getRooms()[x + 1][y] != null){ - // X: Gesamtlänge, Y: Exakte Mitte der Gesamtlänge - staticLayer.getCell(tempX, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[1][3])); //rechts + if(x+1 == l.getExit()[0] && y == l.getExit()[1]){ + staticLayer.getCell(tempX + 1, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][6])); //rechts + } + else{ + // X: Gesamtlänge, Y: Exakte Mitte der Gesamtlänge + staticLayer.getCell(tempX + 1, (tempY / 2) + 0).setTile(new StaticTiledMapTile(splitTiles[4][4])); //rechts-1 + staticLayer.getCell(tempX + 1, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][0])); //rechts1 + staticLayer.getCell(tempX + 1, (tempY / 2) + 2).setTile(new StaticTiledMapTile(splitTiles[3][1])); //rechts2 + staticLayer.getCell(tempX + 1, (tempY / 2) + 3).setTile(new StaticTiledMapTile(splitTiles[2][1])); //rechts3 + staticLayer.getCell(tempX + 1, (tempY / 2) + 4).setTile(new StaticTiledMapTile(splitTiles[2][5])); //rechts4 + } collisionLayer.getObjects().remove(right); @@ -109,8 +130,15 @@ public class MapGenerator { // Ausgang unten if(y > 0 && l.getRooms()[x][y - 1] != null){ - // X: Exakte Mitte der Gesamtlänge, Y: 0 - staticLayer.getCell((tempX / 2) + 1, 1).setTile(new StaticTiledMapTile(splitTiles[2][3])); //unten + if(x == l.getExit()[0] && y-1 == l.getExit()[1]){ + staticLayer.getCell((tempX / 2) + 1, 0).setTile(new StaticTiledMapTile(splitTiles[1][6])); //unten + } + else{ + // X: Exakte Mitte der Gesamtlänge, Y: 0 + staticLayer.getCell((tempX / 2) + 0, 0).setTile(new StaticTiledMapTile(splitTiles[4][5])); //unten-1 + staticLayer.getCell((tempX / 2) + 1, 0).setTile(new StaticTiledMapTile(splitTiles[0][0])); //unten1 + staticLayer.getCell((tempX / 2) + 2, 0).setTile(new StaticTiledMapTile(splitTiles[4][4])); //unten2 + } collisionLayer.getObjects().remove(bottom); @@ -124,8 +152,17 @@ public class MapGenerator { // Ausgang links if(x > 0 && l.getRooms()[x - 1][y] != null){ - // X: 0, Y: Exakte Mitte der Gesamtlänge - staticLayer.getCell(1, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[3][3])); //links + if(x-1 == l.getExit()[0] && y == l.getExit()[1]){ + staticLayer.getCell(0, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[2][6])); //links + } + else{ + // X: 0, Y: Exakte Mitte der Gesamtlänge + staticLayer.getCell(0, (tempY / 2) + 0).setTile(new StaticTiledMapTile(splitTiles[4][5])); //links-1 + staticLayer.getCell(0, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][0])); //links1 + staticLayer.getCell(0, (tempY / 2) + 2).setTile(new StaticTiledMapTile(splitTiles[3][1])); //links2 + staticLayer.getCell(0, (tempY / 2) + 3).setTile(new StaticTiledMapTile(splitTiles[2][1])); //links3 + staticLayer.getCell(0, (tempY / 2) + 4).setTile(new StaticTiledMapTile(splitTiles[3][5])); //links4 + } collisionLayer.getObjects().remove(left); @@ -198,7 +235,7 @@ public class MapGenerator { // links if(x == 0){ - cell.setTile(new StaticTiledMapTile(splitTiles[4][0])); + cell.setTile(new StaticTiledMapTile(splitTiles[4][2])); } // unten else if(y == 0){ @@ -206,19 +243,29 @@ public class MapGenerator { } // rechts else if(x == mapDimensionX - 1){ - cell.setTile(new StaticTiledMapTile(splitTiles[4][2])); + cell.setTile(new StaticTiledMapTile(splitTiles[4][0])); } // oben1 else if(y == mapDimensionY - 1){ - cell.setTile(new StaticTiledMapTile(splitTiles[3][1])); + if(x == roomDimensionX / 2 - 1 || x == roomDimensionX / 2 + 3){ + cell.setTile(new StaticTiledMapTile(splitTiles[3][1])); + } + else{ + cell.setTile(new StaticTiledMapTile(splitTiles[1][1])); + } } // oben2 else if(y == mapDimensionY){ - cell.setTile(new StaticTiledMapTile(splitTiles[2][1])); + if(x == roomDimensionX / 2 - 1 || x == roomDimensionX / 2 + 3){ + cell.setTile(new StaticTiledMapTile(splitTiles[2][1])); + } + else{ + cell.setTile(new StaticTiledMapTile(splitTiles[0][1])); + } } // oben3 else if(y == mapDimensionY + 1){ - cell.setTile(new StaticTiledMapTile(splitTiles[2][5])); + cell.setTile(new StaticTiledMapTile(splitTiles[4][3])); } else{ cell.setTile(new StaticTiledMapTile(splitTiles[bodenX][bodenY]));