From bc660abce5e125c6b15d14a42816d87b9c2eeaf2 Mon Sep 17 00:00:00 2001 From: Jonathan Hager Date: Sun, 5 Apr 2020 14:12:10 +0200 Subject: [PATCH] Generator Grundstruktur implementiert --- .../src/com/dungeoncrawler/model/Dungeon.java | 6 +++ .../model/DungeonGenerator.java | 37 +++++++++++++++---- core/src/com/dungeoncrawler/model/Level.java | 6 +++ 3 files changed, 41 insertions(+), 8 deletions(-) diff --git a/core/src/com/dungeoncrawler/model/Dungeon.java b/core/src/com/dungeoncrawler/model/Dungeon.java index 2e2f374..8f24b91 100644 --- a/core/src/com/dungeoncrawler/model/Dungeon.java +++ b/core/src/com/dungeoncrawler/model/Dungeon.java @@ -42,6 +42,12 @@ public class Dungeon { this.level = level; } + public void setLevel(Level level, int i){ + if(i < this.level.length){ + this.level[i] = level; + } + } + /** * @return the player */ diff --git a/core/src/com/dungeoncrawler/model/DungeonGenerator.java b/core/src/com/dungeoncrawler/model/DungeonGenerator.java index 5eb6259..4381613 100644 --- a/core/src/com/dungeoncrawler/model/DungeonGenerator.java +++ b/core/src/com/dungeoncrawler/model/DungeonGenerator.java @@ -5,6 +5,8 @@ */ package com.dungeoncrawler.model; +import com.dungeoncrawler.model.entities.Player; + /** * * @author jonathan @@ -15,7 +17,33 @@ public class DungeonGenerator { } - public Dungeon generateDungeon(int sizeX, int sizeY, int tileSize){ + public Dungeon generateDungeon(int sizeX, int sizeY, int tileSize, Player player){ + + Dungeon tempDungeon = new Dungeon(player); + int levelAmount = tempDungeon.getLevel().length; + + for(int i = 0; i < levelAmount; i++){ + tempDungeon.setLevel(generateLevel(), i); + } + + return tempDungeon; + + } + + private Level generateLevel(){ + + 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); + } + + return tempLevel; + } + + private Room generateRoom(){ return null; } @@ -27,13 +55,6 @@ public class DungeonGenerator { int xPos = (int) (Math.random() * sizeX); int yPos = (int) (Math.random() * sizeY); - if(xPos > sizeX / 2){ - xPos -= tileSize; - } - else if(xPos < sizeX / 2){ - - } - return position; } } diff --git a/core/src/com/dungeoncrawler/model/Level.java b/core/src/com/dungeoncrawler/model/Level.java index 15d0fb5..c3e3e7b 100644 --- a/core/src/com/dungeoncrawler/model/Level.java +++ b/core/src/com/dungeoncrawler/model/Level.java @@ -30,5 +30,11 @@ public class Level { this.rooms = rooms; } + public void setRoom(Room room, int i){ + if(i < this.rooms.length){ + this.rooms[i] = room; + } + } + }