master
Jonathan Hager 6 years ago
commit b8632ef5a8

@ -22,18 +22,12 @@ public class Dungeon {
this.player = player;
this.playerRoom = 0;
this.playerLevel = 0;
createLvl();
}
public void update(){
// TODO: Implementieren
}
private void createLvl(){
// TODO. Implementieren
}
/**
* @return the level
*/
@ -48,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
*/

@ -0,0 +1,76 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.dungeoncrawler.model;
import com.dungeoncrawler.model.entities.Player;
/**
*
* @author jonathan
*/
public class DungeonGenerator {
public DungeonGenerator(){
}
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);
}
// TODO: Zufällig Türen setzen
return tempLevel;
}
private Room generateRoom(){
return null;
}
private int[] generatePos(int sizeX, int sizeY, int tileSize){
int[] position = new int[2];
int xPos = (int) (Math.random() * sizeX);
int yPos = (int) (Math.random() * sizeY);
return position;
}
public void ichWillSpielen(){
Dungeon d = this.generateDungeon(200, 200, 200, new Player());
for(int i=0;i<d.getLevel().length;i++){
Level temp = d.getLevel()[i];
System.out.println("Level " + i);
for(int j=0;j<temp.getRooms().length;j++){
Room tempRoom = temp.getRooms()[j];
System.out.println(" Room " + j);
}
}
}
}

@ -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;
}
}
}

@ -12,10 +12,10 @@ import com.dungeoncrawler.model.Entity;
* @author jonathan
*/
public class Room {
private ItemContainer item;
private ItemContainer[] item;
private Entity[] enemies;
public Room(ItemContainer item, Entity[] enemies){
public Room(ItemContainer[] item, Entity[] enemies){
this.item = item;
this.enemies = enemies;
}
@ -31,14 +31,14 @@ public class Room {
/**
* @return the item
*/
public ItemContainer getItem() {
public ItemContainer[] getItem() {
return item;
}
/**
* @param item the item to set
*/
public void setItem(ItemContainer item) {
public void setItem(ItemContainer[] item) {
this.item = item;
}

@ -13,8 +13,8 @@ import com.dungeoncrawler.model.Entity;
*/
public class Player extends Entity {
public Player(int xPos, int yPos, int lvl) {
super(xPos, yPos, lvl);
public Player() {
super(0, 0, 1);
this.maxhp = 5*lvl;
this.hp = this.maxhp;

@ -34,23 +34,33 @@ public class Map {
TextureRegion[][] splitTiles = TextureRegion.split(getTiles(), 48, 48);
MapLayers layers = getMap().getLayers();
for(int i=0;i<6;i++){
TiledMapTileLayer layer = new TiledMapTileLayer(6, 6, 48, 48);
//for(int i=0;i<6;i++){
int size = 10;
TiledMapTileLayer layer = new TiledMapTileLayer(size, size, 48, 48);
for(int x=0;x<6;x++){
for(int y=0;y<6;y++){
for(int x=0;x<size;x++){
for(int y=0;y<size;y++){
int ty = (int)(Math.random() * splitTiles.length);
int tx = (int)(Math.random() * splitTiles[ty].length);
if(x == 0 || x == size -1 || y == 0 || y == size -1){
Cell cell = new Cell();
cell.setTile(new StaticTiledMapTile(splitTiles[0][5]));
layer.setCell(x, y, cell);
continue;
}
//int ty = (int)(Math.random() * splitTiles.length);
//int tx = (int)(Math.random() * splitTiles[ty].length);
Cell cell = new Cell();
cell.setTile(new StaticTiledMapTile(splitTiles[ty][tx]));
cell.setTile(new StaticTiledMapTile(splitTiles[0][0]));
layer.setCell(x, y, cell);
}
layers.add(layer);
}
}
//}
}
/**

@ -5,22 +5,35 @@ import com.badlogic.gdx.graphics.GL20;
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;
public class View {
Texture b;
Texture t;
Texture p;
Texture a;
Sprite button;
Sprite title;
Sprite player;
Sprite archer;
int PlayerFrame = 0;
int PlayerZeile = 0;
TextureRegion[][] regions;
Timer tunten;
Timer toben;
Timer tlinks;
Timer trechts;
public View() {
b = new Texture("Button.png");
t = new Texture("Title.png");
p = new Texture("Player.png");
p = new Texture("animplay.png");
a = new Texture("Archer-64.png");
button = new Sprite(b);
title = new Sprite(t);
player = new Sprite(p);
archer = new Sprite(a);
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
float wc = w/2;
@ -28,24 +41,154 @@ public class View {
title.setY(h - 200);
button.setX(wc - (button.getWidth()/2));
button.setY(400);
regions = TextureRegion.split(p, 32, 32);
player = new Sprite(regions[0][2]);
player.setX(200);
player.setY(200);
tunten = new Timer();
toben = new Timer();
tlinks = new Timer();
trechts = new Timer();
tunten.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
},0,1/5f);
tunten.stop();
toben.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
}, 0,1/5f);
toben.stop();
tlinks.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(player.isFlipX() == true){
}
else{
player.flip(true, false);
}
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
}, 0,1/5f);
tlinks.stop();
trechts.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(player.isFlipX() == true){
player.flip(false, false);
}
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
}, 0,1/5f);
trechts.stop();
}
public void render (SpriteBatch batch, float x, float y) {
public void render (SpriteBatch batch, float x, float y, int archerX, int archerY) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
player.setX(player.getX()+x);
player.setY(player.getY()+y);
archer.setX(archerX);
archer.setY(archerY);
if(x == 3f){
trechts.start();
if(player.isFlipX() == true){
player.flip(false, false);
}
}
if(x == -3f){
tlinks.start();
if(player.isFlipX() == true){
}
else{
player.flip(true, false);
}
}
if(y == 3f){
toben.start();
}
if(y == -3f){
tunten.start();
}
batch.begin();
title.draw(batch);
button.draw(batch);
player.draw(batch);
archer.draw(batch);
batch.end();
}
}
public void tuntenstop(){
tunten.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);}
public void tobenstop(){
toben.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);}
public void tlinksstop(){
tlinks.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);
player.flip(true, false);}
public void trechtsstop(){
trechts.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);}
}

Loading…
Cancel
Save