diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index 63a52ec..e69ff71 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -24,50 +24,55 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ View v; Player p; Archer a; - Timer t; + Timer tAttack; + Timer coords; @Override public void create(){ batch = new SpriteBatch(); - v = new View(); - p = new Player(); + p = new Player(200f, 200f); d = new Dungeon(p); + v = new View(); + p.setxPos(v.getPlayerX()); + p.setyPos(v.getPlayerY()); dg = new DungeonGenerator(); dg.ichWillSpielen(); - p = new Player(); d = new Dungeon(p); - a = new Archer(500, 200, 1); + a = new Archer(500f, 200f, 1); + a.setxPos(v.getArcherX()); + a.setyPos(v.getArcherY()); Gdx.input.setInputProcessor(this); - t = new Timer(); - t.scheduleTask(new Timer.Task() { + tAttack = new Timer(); + tAttack.scheduleTask(new Timer.Task() { @Override public void run() { if(p.getxPos() == a.getxPos()){ - if(p.getyPos() < a.getyPos()){ - a.attack(0); //unten + if(p.getyPos() > a.getyPos()){ + a.attack(0); //UP if(v.getArrowTravel() == 0){ v.arrow(a,0); } } - if(p.getyPos() > a.getyPos()){ - a.attack(1); //oben + else if(p.getyPos() < a.getyPos()){ + a.attack(2); //DOWN if(v.getArrowTravel() == 0){ - v.arrow(a,1); + v.arrow(a,2); } } + } else if(p.getyPos() == a.getyPos()){ - if(p.getxPos() < a.getxPos()){ - a.attack(2); //links + if(p.getxPos() > a.getxPos()){ + a.attack(1); //RIGHT if(v.getArrowTravel() == 0){ - v.arrow(a,2); + v.arrow(a,1); } } - if(p.getxPos() > a.getxPos()){ - a.attack(3); //rechts + else if(p.getxPos() < a.getxPos()){ + a.attack(3); //LEFT if(v.getArrowTravel() == 0){ v.arrow(a,3); } @@ -78,10 +83,29 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } } },0,0.5f); + + coords = new Timer(); + + coords.scheduleTask(new Timer.Task() { + @Override + public void run() { + System.out.println("Player:"); + System.out.println("X:" + p.getxPos()); + System.out.println("Y:" + p.getyPos()); + System.out.println("Archer:"); + System.out.println("X:" + a.getxPos()); + System.out.println("Y:" + a.getyPos()); + + } + },0,2f); } @Override public void render(){ + p.setxPos(v.getPlayerX()); + p.setyPos(v.getPlayerY()); + a.setxPos(v.getArcherX()); + a.setyPos(v.getArcherY()); v.render(batch, p , a); } diff --git a/core/src/com/dungeoncrawler/model/DungeonGenerator.java b/core/src/com/dungeoncrawler/model/DungeonGenerator.java index a283f0b..86b4955 100644 --- a/core/src/com/dungeoncrawler/model/DungeonGenerator.java +++ b/core/src/com/dungeoncrawler/model/DungeonGenerator.java @@ -61,7 +61,7 @@ public class DungeonGenerator { } public void ichWillSpielen(){ - Dungeon d = this.generateDungeon(200, 200, 200, new Player()); + Dungeon d = this.generateDungeon(200, 200, 200, new Player(200,200)); for(int i=0;i= 100){ ArrowTravel = 0; @@ -153,11 +157,11 @@ public class View { tArrowRight.scheduleTask(new Timer.Task() { @Override public void run() { - Arrow.setX(Arrow.getX() + 3); + Arrow.setX(Arrow.getX() + 3f); ArrowTravel++; if(ArrowTravel >= 100){ ArrowTravel = 0; - tArrowLeft.stop(); + tArrowRight.stop(); } } }, 0,1/40f); @@ -165,11 +169,11 @@ public class View { tArrowUp.scheduleTask(new Timer.Task() { @Override public void run() { - Arrow.setY(Arrow.getY() + 3); + Arrow.setY(Arrow.getY() + 3f); ArrowTravel++; if(ArrowTravel >= 100){ ArrowTravel = 0; - tArrowLeft.stop(); + tArrowUp.stop(); } } }, 0,1/50f); @@ -177,11 +181,11 @@ public class View { tArrowDown.scheduleTask(new Timer.Task() { @Override public void run() { - Arrow.setY(Arrow.getY() - 3); + Arrow.setY(Arrow.getY() - 3f); ArrowTravel++; if(ArrowTravel >= 100){ ArrowTravel = 0; - tArrowLeft.stop(); + tArrowDown.stop(); } } }, 0,1/50f); @@ -193,10 +197,10 @@ public class View { public void render (SpriteBatch batch, Player p, Archer a) { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); - player.setX(player.getX()+ (float) p.getMovementX()); - player.setY(player.getY()+ (float) p.getMovementY()); - archer.setX((float)a.getxPos()); - archer.setY((float)a.getyPos()); + player.setX(player.getX()+ p.getMovementX()); + player.setY(player.getY()+ p.getMovementY()); + archer.setX(a.getxPos()); + archer.setY(a.getyPos()); if(p.getMovementX() == 3){ trechts.start(); @@ -225,7 +229,7 @@ public class View { button.draw(batch); player.draw(batch); archer.draw(batch); - if(ArrowTravel > 0){ + if(ArrowTravel > 0 && ArrowTravel < 100){ Arrow.draw(batch); } batch.end(); @@ -233,27 +237,27 @@ public class View { public void arrow(Archer a, int i){ switch(i){ - case 0: + case 0: //UP Arrow.setX((float) a.getxPos()); Arrow.setY((float) a.getyPos()); - tArrowDown.start(); + tArrowUp.start(); break; - case 1: + case 1: //RIGHT Arrow.setX((float) a.getxPos()); Arrow.setY((float) a.getyPos()); - tArrowUp.start(); + tArrowRight.start(); break; - case 2: + case 2: //DOWN for(int n = 0; n < 50; n++){ Arrow.setX((float) a.getxPos()); Arrow.setY((float) a.getyPos()); - tArrowLeft.start(); + tArrowDown.start(); } break; - case 3: + case 3: //LEFT Arrow.setX((float) a.getxPos()); Arrow.setY((float) a.getyPos()); - tArrowRight.start(); + tArrowLeft.start(); break; } @@ -281,4 +285,17 @@ public class View { public int getArrowTravel(){ return ArrowTravel; } + + public float getPlayerX(){ + return player.getX(); + } + public float getPlayerY(){ + return player.getY(); + } + public float getArcherX(){ + return archer.getX(); + } + public float getArcherY(){ + return archer.getY(); + } }