From aff01463129a1fa39b9da4e58b105164bce0c98b Mon Sep 17 00:00:00 2001 From: Jonathan Hager Date: Wed, 8 Apr 2020 23:31:40 +0200 Subject: [PATCH] Ich bin so geil --- .../dungeoncrawler/control/Controller.java | 97 ++++++++++++++----- .../com/dungeoncrawler/view/MapGenerator.java | 4 +- 2 files changed, 73 insertions(+), 28 deletions(-) diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index 6da96c8..ca0c530 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -26,6 +26,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ Timer t; View m; Archer a; + int[] tile; + int[] posRoom; + int level; @Override public void create(){ @@ -36,7 +39,38 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ dg = new DungeonGenerator(); d = dg.generateDungeon(0, 0, 0, new Player()); dg.ichWillSpielen(d); + + tile = new int[2]; + posRoom = new int[2]; + + int roomLengthX = d.getLevel()[0].getRooms().length; + int roomLengthY = d.getLevel()[0].getRooms()[0].length; + int roomAmount = d.getLevel()[0].getRooms().length; + + int startRoom = (int) (Math.random() * roomAmount); + + level = 0; + + int k = 0; + for(int i = 0; i < roomLengthX; i++){ + for(int j = 0; j < roomLengthY; j++){ + if(d.getLevel()[level].getRooms()[i][j] != null){ + + if(k == startRoom){ + // Startraum wurde ausgewählt + posRoom[0] = i; + posRoom[1] = j; + + } + + k++; + } + + } + } + e = new Entity[5]; + Gdx.input.setInputProcessor(this); t = new Timer(); t.scheduleTask(new Timer.Task() { @@ -78,40 +112,51 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ v.render(batch, d.getPlayer() , e); } if(v == null){ - int[] tile = new int[2]; + + d.getPlayer().update(); + tile[0] = d.getPlayer().getxPos() / 48; tile[1] = d.getPlayer().getyPos() / 48; - System.out.println(tile[0] + " " + tile[1]); + System.out.println("pos Player tiles: " + tile[0] + " " + tile[1]); - d.getPlayer().update(); + int xPos = tile[0]; + int yPos = tile[1]; - int roomLengthX = d.getLevel()[0].getRooms().length; - int roomLengthY = d.getLevel()[0].getRooms()[0].length; - int roomAmount = d.getLevel()[0].getRooms().length; + // oben + if(xPos == 4 && yPos == 6){ + System.out.println("oben"); + + posRoom[1] += 1; + d.getPlayer().setxPos(100); + d.getPlayer().setyPos(100); + } - int startRoom = (int) (0.5 * roomAmount);//(int) (Math.random() * roomAmount); + // rechts + if(xPos == 8 && yPos == 3){ + System.out.println("rechts"); + + posRoom[0] += 1; + d.getPlayer().setxPos(100); + d.getPlayer().setyPos(100); + } - int[] posRoom = new int[2]; - int level = 0; + // unten + if(xPos == 4 && yPos == 0){ + System.out.println("unten"); + + posRoom[1] -= 1; + d.getPlayer().setxPos(100); + d.getPlayer().setyPos(100); + } - int k = 0; - for(int i = 0; i < roomLengthX; i++){ - for(int j = 0; j < roomLengthY; j++){ - if(d.getLevel()[level].getRooms()[i][j] != null){ - - if(true){ - // Startraum wurde ausgewählt - posRoom[0] = i; - posRoom[1] = j; - System.out.println(i + " " + j); - break; - } - - k++; - } - - } + // links + if(xPos == 0 && yPos == 3){ + System.out.println("links"); + + posRoom[0] -= 1; + d.getPlayer().setxPos(100); + d.getPlayer().setyPos(100); } // Render methode zum rendern der einzelnen Sprites wird aufgerufen diff --git a/core/src/com/dungeoncrawler/view/MapGenerator.java b/core/src/com/dungeoncrawler/view/MapGenerator.java index 9c4fb76..be57833 100644 --- a/core/src/com/dungeoncrawler/view/MapGenerator.java +++ b/core/src/com/dungeoncrawler/view/MapGenerator.java @@ -56,7 +56,7 @@ public class MapGenerator { int tempY = 5; TiledMap tempRoom = generateRoom(room, tempX, tempY); - /* + // Wenn es Fehler gibt, dann wohl hier: Viel Spaß beim Suchen! Danke! TiledMapTileLayer temp = (TiledMapTileLayer) tempRoom.getLayers().get(2); @@ -78,7 +78,7 @@ public class MapGenerator { // Ausgang links if(x > 0 && l.getRooms()[x - 1][y] != null){ temp.getCell(0, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //links - }*/ + } tempLevel[x][y] = tempRoom; }