diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index 746e48a..6da96c8 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -35,7 +35,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ v = new MainMenu(); dg = new DungeonGenerator(); d = dg.generateDungeon(0, 0, 0, new Player()); - dg.ichWillSpielen(); + dg.ichWillSpielen(d); e = new Entity[5]; Gdx.input.setInputProcessor(this); t = new Timer(); @@ -90,7 +90,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ int roomLengthY = d.getLevel()[0].getRooms()[0].length; int roomAmount = d.getLevel()[0].getRooms().length; - int startRoom = (int) (Math.random() * roomAmount); + int startRoom = (int) (0.5 * roomAmount);//(int) (Math.random() * roomAmount); int[] posRoom = new int[2]; int level = 0; @@ -98,15 +98,17 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ int k = 0; for(int i = 0; i < roomLengthX; i++){ for(int j = 0; j < roomLengthY; j++){ - - if(d.getLevel()[0].getRooms()[i][j] != null){ - k++; - - if(k == startRoom){ + 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++; } } @@ -165,7 +167,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(v.click() == -1){} else if(v.click() == 0){ v = null; - m = new View(); + m = new View(d); System.out.println("NICE"); } } diff --git a/core/src/com/dungeoncrawler/model/DungeonGenerator.java b/core/src/com/dungeoncrawler/model/DungeonGenerator.java index 2437c6e..1686c57 100644 --- a/core/src/com/dungeoncrawler/model/DungeonGenerator.java +++ b/core/src/com/dungeoncrawler/model/DungeonGenerator.java @@ -107,14 +107,13 @@ public class DungeonGenerator { return position; } - public void ichWillSpielen(){ - Dungeon d = this.generateDungeon(200, 200, 200, new Player()); + public void ichWillSpielen(Dungeon d){ for(int i=0;i=0; j--){ + for(int j = 0; j < temp.getRooms().length; j++){ for(int k = temp.getRooms().length - 1; k >= 0; k--){ if(temp.getRooms()[j][k] == null){ diff --git a/core/src/com/dungeoncrawler/model/Level.java b/core/src/com/dungeoncrawler/model/Level.java index f136a45..62caaac 100644 --- a/core/src/com/dungeoncrawler/model/Level.java +++ b/core/src/com/dungeoncrawler/model/Level.java @@ -33,7 +33,7 @@ public class Level { } public void setRoom(Room room, int x, int y){ - if(x < this.rooms.length){ + if(x < this.rooms.length && y < this.rooms.length){ this.rooms[x][y] = room; } } diff --git a/core/src/com/dungeoncrawler/view/MapGenerator.java b/core/src/com/dungeoncrawler/view/MapGenerator.java index 7cff9f3..9c4fb76 100644 --- a/core/src/com/dungeoncrawler/view/MapGenerator.java +++ b/core/src/com/dungeoncrawler/view/MapGenerator.java @@ -28,7 +28,9 @@ public class MapGenerator { splitTiles = TextureRegion.split(this.tiles, 48, 48); } - public TiledMap[][][] generateMap(int levelAmount, Dungeon d){ + public TiledMap[][][] generateMap(Dungeon d){ + int levelAmount = d.getLevel().length; + TiledMap[][][] tempMap = new TiledMap[levelAmount][][]; for(int i = 0; i < levelAmount; i++){ @@ -54,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); @@ -76,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; } @@ -120,4 +122,26 @@ public class MapGenerator { return tempRoom; } + + public void ichWillSpielen(TiledMap[][][] map){ + + for(int i=0;i= 0; k--){ + if(temp[j][k] == null){ + System.out.print("0 "); + } + else{ + System.out.print("1 "); + } + } + System.out.println(); + } + } + } } diff --git a/core/src/com/dungeoncrawler/view/View.java b/core/src/com/dungeoncrawler/view/View.java index a500820..7b32716 100644 --- a/core/src/com/dungeoncrawler/view/View.java +++ b/core/src/com/dungeoncrawler/view/View.java @@ -6,13 +6,11 @@ import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.Sprite; -import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.maps.tiled.TiledMap; import com.badlogic.gdx.maps.tiled.TiledMapRenderer; import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; import com.dungeoncrawler.model.Dungeon; -import com.dungeoncrawler.model.DungeonGenerator; import com.dungeoncrawler.model.Entity; import com.dungeoncrawler.model.entities.*; @@ -32,9 +30,8 @@ public class View { TiledMapRenderer tmr; TiledMap test; OrthographicCamera camera; - Dungeon d; - public View() { + public View(Dungeon d) { float w = Gdx.graphics.getWidth(); float h = Gdx.graphics.getHeight(); float wc = w/2; @@ -54,10 +51,12 @@ public class View { //MAP m = new Map(); camera = new OrthographicCamera(1, h/w); - d = new DungeonGenerator().generateDungeon(10, 10, 48, new Player()); + MapGenerator mg = new MapGenerator(new Texture(Gdx.files.internal("tiles.gif"))); - TiledMap[][][] maps = mg.generateMap(7, d); + + TiledMap[][][] maps = mg.generateMap(d); m.setMaps(maps); + mg.ichWillSpielen(m.getMaps()); test = new TiledMap(); tmr = new OrthogonalTiledMapRenderer(test); @@ -77,6 +76,13 @@ public class View { test = m.getMaps()[level][xPosRoom][yPosRoom]; + if(test == null){ + System.out.println("Dein scheiß geht net"); + } + else{ + tmr = new OrthogonalTiledMapRenderer(test); + } + if(p.getMovementX() == 3){ player.setRegion(regions[0][1]); }