diff --git a/core/assets/sprites/archer.png b/core/assets/sprites/archer.png deleted file mode 100644 index 1bca3fc..0000000 Binary files a/core/assets/sprites/archer.png and /dev/null differ diff --git a/core/assets/sprites/archer/archer_m.png b/core/assets/sprites/archer/archer_m.png new file mode 100644 index 0000000..e840069 Binary files /dev/null and b/core/assets/sprites/archer/archer_m.png differ diff --git a/core/assets/sprites/archer/archer_w.png b/core/assets/sprites/archer/archer_w.png new file mode 100644 index 0000000..3f2e979 Binary files /dev/null and b/core/assets/sprites/archer/archer_w.png differ diff --git a/core/assets/sprites/archer/firearcher_m.png b/core/assets/sprites/archer/firearcher_m.png new file mode 100644 index 0000000..093e4f1 Binary files /dev/null and b/core/assets/sprites/archer/firearcher_m.png differ diff --git a/core/assets/sprites/archer/firearcher_w.png b/core/assets/sprites/archer/firearcher_w.png new file mode 100644 index 0000000..2629364 Binary files /dev/null and b/core/assets/sprites/archer/firearcher_w.png differ diff --git a/core/assets/sprites/archer/icearcher_m.png b/core/assets/sprites/archer/icearcher_m.png new file mode 100644 index 0000000..bc48117 Binary files /dev/null and b/core/assets/sprites/archer/icearcher_m.png differ diff --git a/core/assets/sprites/archer/icearcher_w.png b/core/assets/sprites/archer/icearcher_w.png new file mode 100644 index 0000000..8dd6f66 Binary files /dev/null and b/core/assets/sprites/archer/icearcher_w.png differ diff --git a/core/assets/sprites/earthwizard.png b/core/assets/sprites/earthwizard.png deleted file mode 100644 index ee13d68..0000000 Binary files a/core/assets/sprites/earthwizard.png and /dev/null differ diff --git a/core/assets/sprites/firearcher.png b/core/assets/sprites/firearcher.png deleted file mode 100644 index 0124fb3..0000000 Binary files a/core/assets/sprites/firearcher.png and /dev/null differ diff --git a/core/assets/sprites/fireswordsman.png b/core/assets/sprites/fireswordsman.png deleted file mode 100644 index 57ad0ce..0000000 Binary files a/core/assets/sprites/fireswordsman.png and /dev/null differ diff --git a/core/assets/sprites/firewizard.png b/core/assets/sprites/firewizard.png deleted file mode 100644 index 0e50bfa..0000000 Binary files a/core/assets/sprites/firewizard.png and /dev/null differ diff --git a/core/assets/sprites/icearcher.png b/core/assets/sprites/icearcher.png deleted file mode 100644 index 431b8cd..0000000 Binary files a/core/assets/sprites/icearcher.png and /dev/null differ diff --git a/core/assets/sprites/player.png b/core/assets/sprites/player/player.png similarity index 100% rename from core/assets/sprites/player.png rename to core/assets/sprites/player/player.png diff --git a/core/assets/sprites/playerblack.png b/core/assets/sprites/player/playerblack.png similarity index 100% rename from core/assets/sprites/playerblack.png rename to core/assets/sprites/player/playerblack.png diff --git a/core/assets/sprites/playerblue.png b/core/assets/sprites/player/playerblue.png similarity index 100% rename from core/assets/sprites/playerblue.png rename to core/assets/sprites/player/playerblue.png diff --git a/core/assets/sprites/playergreen.png b/core/assets/sprites/player/playergreen.png similarity index 100% rename from core/assets/sprites/playergreen.png rename to core/assets/sprites/player/playergreen.png diff --git a/core/assets/sprites/playerorange.png b/core/assets/sprites/player/playerorange.png similarity index 100% rename from core/assets/sprites/playerorange.png rename to core/assets/sprites/player/playerorange.png diff --git a/core/assets/sprites/playerpurple.png b/core/assets/sprites/player/playerpurple.png similarity index 100% rename from core/assets/sprites/playerpurple.png rename to core/assets/sprites/player/playerpurple.png diff --git a/core/assets/sprites/playerred.png b/core/assets/sprites/player/playerred.png similarity index 100% rename from core/assets/sprites/playerred.png rename to core/assets/sprites/player/playerred.png diff --git a/core/assets/sprites/arrow.png b/core/assets/sprites/projectile/arrow.png similarity index 100% rename from core/assets/sprites/arrow.png rename to core/assets/sprites/projectile/arrow.png diff --git a/core/assets/sprites/firearrow.png b/core/assets/sprites/projectile/firearrow.png similarity index 100% rename from core/assets/sprites/firearrow.png rename to core/assets/sprites/projectile/firearrow.png diff --git a/core/assets/sprites/icearrow.png b/core/assets/sprites/projectile/icearrow.png similarity index 100% rename from core/assets/sprites/icearrow.png rename to core/assets/sprites/projectile/icearrow.png diff --git a/core/assets/sprites/laser.png b/core/assets/sprites/projectile/laser.png similarity index 100% rename from core/assets/sprites/laser.png rename to core/assets/sprites/projectile/laser.png diff --git a/core/assets/sprites/earthspell.png b/core/assets/sprites/spell/earthspell.png similarity index 100% rename from core/assets/sprites/earthspell.png rename to core/assets/sprites/spell/earthspell.png diff --git a/core/assets/sprites/firespell.png b/core/assets/sprites/spell/firespell.png similarity index 100% rename from core/assets/sprites/firespell.png rename to core/assets/sprites/spell/firespell.png diff --git a/core/assets/sprites/spell/icespell.png b/core/assets/sprites/spell/icespell.png new file mode 100644 index 0000000..61c3508 Binary files /dev/null and b/core/assets/sprites/spell/icespell.png differ diff --git a/core/assets/sprites/spell.png b/core/assets/sprites/spell/spell.png similarity index 100% rename from core/assets/sprites/spell.png rename to core/assets/sprites/spell/spell.png diff --git a/core/assets/sprites/swordsman.png b/core/assets/sprites/swordsman.png deleted file mode 100644 index 33a653a..0000000 Binary files a/core/assets/sprites/swordsman.png and /dev/null differ diff --git a/core/assets/sprites/swordsman/fireswordsman_m.png b/core/assets/sprites/swordsman/fireswordsman_m.png new file mode 100644 index 0000000..d18b1c4 Binary files /dev/null and b/core/assets/sprites/swordsman/fireswordsman_m.png differ diff --git a/core/assets/sprites/swordsman/fireswordsman_w.png b/core/assets/sprites/swordsman/fireswordsman_w.png new file mode 100644 index 0000000..962a69f Binary files /dev/null and b/core/assets/sprites/swordsman/fireswordsman_w.png differ diff --git a/core/assets/sprites/swordsman/iceswordsman_m.png b/core/assets/sprites/swordsman/iceswordsman_m.png new file mode 100644 index 0000000..7255e0a Binary files /dev/null and b/core/assets/sprites/swordsman/iceswordsman_m.png differ diff --git a/core/assets/sprites/swordsman/iceswordsman_w.png b/core/assets/sprites/swordsman/iceswordsman_w.png new file mode 100644 index 0000000..27fe1a4 Binary files /dev/null and b/core/assets/sprites/swordsman/iceswordsman_w.png differ diff --git a/core/assets/sprites/swordsman/swordsman_m.png b/core/assets/sprites/swordsman/swordsman_m.png new file mode 100644 index 0000000..327d352 Binary files /dev/null and b/core/assets/sprites/swordsman/swordsman_m.png differ diff --git a/core/assets/sprites/swordsman/swordsman_w.png b/core/assets/sprites/swordsman/swordsman_w.png new file mode 100644 index 0000000..5dddc5d Binary files /dev/null and b/core/assets/sprites/swordsman/swordsman_w.png differ diff --git a/core/assets/sprites/wizard.png b/core/assets/sprites/wizard.png deleted file mode 100644 index 6d7fbd6..0000000 Binary files a/core/assets/sprites/wizard.png and /dev/null differ diff --git a/core/assets/sprites/wizard/earthwizard_m.png b/core/assets/sprites/wizard/earthwizard_m.png new file mode 100644 index 0000000..69897f1 Binary files /dev/null and b/core/assets/sprites/wizard/earthwizard_m.png differ diff --git a/core/assets/sprites/wizard/earthwizard_w.png b/core/assets/sprites/wizard/earthwizard_w.png new file mode 100644 index 0000000..2c156d4 Binary files /dev/null and b/core/assets/sprites/wizard/earthwizard_w.png differ diff --git a/core/assets/sprites/wizard/firewizard_m.png b/core/assets/sprites/wizard/firewizard_m.png new file mode 100644 index 0000000..4516f34 Binary files /dev/null and b/core/assets/sprites/wizard/firewizard_m.png differ diff --git a/core/assets/sprites/wizard/firewizard_w.png b/core/assets/sprites/wizard/firewizard_w.png new file mode 100644 index 0000000..1444cca Binary files /dev/null and b/core/assets/sprites/wizard/firewizard_w.png differ diff --git a/core/assets/sprites/wizard/icewizard_m.png b/core/assets/sprites/wizard/icewizard_m.png new file mode 100644 index 0000000..3b25858 Binary files /dev/null and b/core/assets/sprites/wizard/icewizard_m.png differ diff --git a/core/assets/sprites/wizard/icewizard_w.png b/core/assets/sprites/wizard/icewizard_w.png new file mode 100644 index 0000000..e043ddf Binary files /dev/null and b/core/assets/sprites/wizard/icewizard_w.png differ diff --git a/core/assets/sprites/wizard/wizard_m.png b/core/assets/sprites/wizard/wizard_m.png new file mode 100644 index 0000000..dcd1749 Binary files /dev/null and b/core/assets/sprites/wizard/wizard_m.png differ diff --git a/core/assets/sprites/wizard/wizard_w.png b/core/assets/sprites/wizard/wizard_w.png new file mode 100644 index 0000000..9d818bd Binary files /dev/null and b/core/assets/sprites/wizard/wizard_w.png differ diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index bca4b5f..a178682 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -73,8 +73,10 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ @Override public void create(){ - checkDoor = true; + checkDoor = false; checkDie = true; + + end = false; playerSkin = 0; diff --git a/core/src/com/dungeoncrawler/model/DungeonGenerator.java b/core/src/com/dungeoncrawler/model/DungeonGenerator.java index 07bff46..95612ba 100644 --- a/core/src/com/dungeoncrawler/model/DungeonGenerator.java +++ b/core/src/com/dungeoncrawler/model/DungeonGenerator.java @@ -309,7 +309,7 @@ public class DungeonGenerator { Entity temp; - int id = (int) (Math.random() * 8); + int id = (int) (Math.random() * 10); switch(id){ case 0: temp = new Archer(xPos, yPos, lvl); @@ -335,6 +335,12 @@ public class DungeonGenerator { case 7: temp = new Firearcher(xPos, yPos, lvl); break; + case 8: + temp = new Iceswordsman(xPos, yPos, lvl); + break; + case 9: + temp = new Icewizard(xPos, yPos, lvl); + break; default: temp = null; } diff --git a/core/src/com/dungeoncrawler/model/entities/Earthwizard.java b/core/src/com/dungeoncrawler/model/entities/Earthwizard.java index 39a9128..29c5e3f 100644 --- a/core/src/com/dungeoncrawler/model/entities/Earthwizard.java +++ b/core/src/com/dungeoncrawler/model/entities/Earthwizard.java @@ -28,8 +28,8 @@ public class Earthwizard extends Entity{ this.dmg = 12*lvl; this.id = 8; this.type = 1; - minRange = 64; - maxRange = 104; + minRange = 84; + maxRange = 144; attackSpeed = 50; counter = 0; // TODO: Sinnvolle Werte finden @@ -41,7 +41,7 @@ public class Earthwizard extends Entity{ public boolean move(int xPosPlayer, int yPosPlayer) { if(!isToDelete()){ - double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer + 32, yPosPlayer + 32); int distance = (int) StaticMath.calculateDistance((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer, alpha); if(distance >= minRange && distance <= maxRange && counter % attackSpeed == 0){ @@ -86,8 +86,8 @@ public class Earthwizard extends Entity{ double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); a = new Spell(this.xPos + 32, this.yPos + 32, this.lvl,(int) this.dmg, 9, true); - int tempX = (int) (6 * Math.cos(alpha)); - int tempY = (int) (6 * Math.sin(alpha)); + int tempX = (int) (5 * Math.cos(alpha)); + int tempY = (int) (5 * Math.sin(alpha)); a.setMovementX(tempX); a.setMovementY(tempY); diff --git a/core/src/com/dungeoncrawler/model/entities/Firewizard.java b/core/src/com/dungeoncrawler/model/entities/Firewizard.java index a0ad5cd..8b433c6 100644 --- a/core/src/com/dungeoncrawler/model/entities/Firewizard.java +++ b/core/src/com/dungeoncrawler/model/entities/Firewizard.java @@ -41,7 +41,7 @@ public class Firewizard extends Entity{ public boolean move(int xPosPlayer, int yPosPlayer) { if(!isToDelete()){ - double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer + 32, yPosPlayer + 32); int distance = (int) StaticMath.calculateDistance((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer, alpha); if(distance >= minRange && distance <= maxRange && counter % attackSpeed == 0){ @@ -83,11 +83,11 @@ public class Firewizard extends Entity{ Spell a = null; if(!isToDelete()){ - double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer + 32, yPosPlayer + 32); a = new Spell(this.xPos + 32, this.yPos + 32, this.lvl,(int) this.dmg, 7, true); - int tempX = (int) (6 * Math.cos(alpha)); - int tempY = (int) (6 * Math.sin(alpha)); + int tempX = (int) (5 * Math.cos(alpha)); + int tempY = (int) (5 * Math.sin(alpha)); a.setMovementX(tempX); a.setMovementY(tempY); diff --git a/core/src/com/dungeoncrawler/model/entities/Iceswordsman.java b/core/src/com/dungeoncrawler/model/entities/Iceswordsman.java new file mode 100644 index 0000000..28bfad3 --- /dev/null +++ b/core/src/com/dungeoncrawler/model/entities/Iceswordsman.java @@ -0,0 +1,39 @@ +package com.dungeoncrawler.model.entities; + +import com.dungeoncrawler.StaticMath; +import com.dungeoncrawler.model.Entity; + +public class Iceswordsman extends Entity { + + public Iceswordsman(float xPos, float yPos, int lvl) { + super(xPos, yPos, lvl); + + this.maxhp = 130*lvl; + this.hp = this.maxhp; + this.direction = 1; + this.dmg = 20*lvl; + this.id = 15; + this.type = 0; + + // TODO: Sinnvolle Werte finden + direction = 2; + } + + @Override + public boolean move(int xPosPlayer, int yPosPlayer){ + if(!isToDelete()){ + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); + + movementX = (int) (3 * Math.cos(alpha)); + movementY = (int) (3 * Math.sin(alpha)); + + xPos += movementX; + yPos += movementY; + + updateDirection(); + } + return false; + } + + +} diff --git a/core/src/com/dungeoncrawler/model/entities/Icewizard.java b/core/src/com/dungeoncrawler/model/entities/Icewizard.java new file mode 100644 index 0000000..4caed07 --- /dev/null +++ b/core/src/com/dungeoncrawler/model/entities/Icewizard.java @@ -0,0 +1,106 @@ +/* + * 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.entities; + +import com.dungeoncrawler.StaticMath; +import com.dungeoncrawler.model.Entity; + +/** + * + * @author jonathan + */ +public class Icewizard extends Entity{ + + int counter; + final int minRange; + final int maxRange; + final int attackSpeed; + + public Icewizard(float xPos, float yPos, int lvl) { + super(xPos, yPos, lvl); + + this.maxhp = 80*lvl; + this.hp = this.maxhp; + this.direction = 1; + this.dmg = 12*lvl; + this.id = 16; + this.type = 1; + minRange = 64; + maxRange = 124; + attackSpeed = 60; + counter = 0; + // TODO: Sinnvolle Werte finden + + direction = 1; + } + + @Override + public boolean move(int xPosPlayer, int yPosPlayer) { + if(!isToDelete()){ + + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer + 32, yPosPlayer + 32); + int distance = (int) StaticMath.calculateDistance((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer, alpha); + + if(distance >= minRange && distance <= maxRange && counter % attackSpeed == 0){ + return true; + } + else{ + movementX = (int) (3 * Math.cos(alpha)); + movementY = (int) (3 * Math.sin(alpha)); + + if(distance < minRange){ + movementX *= -1; + movementY *= -1; + } + else if(distance >= minRange && distance <= maxRange){ + movementX = 0; + movementY = 0; + } + + + xPos += movementX; + yPos += movementY; + } + + if(alpha >= Math.PI / -2 && alpha <= Math.PI / 2){ + setDirection(1); + } + else{ + setDirection(0); + } + + counter++; + } + + return false; + } + + @Override + public Entity shoot(int xPosPlayer, int yPosPlayer){ + Spell a = null; + + if(!isToDelete()){ + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer + 32, yPosPlayer + 32); + + a = new Spell(this.xPos + 32, this.yPos + 32, this.lvl,(int) this.dmg, 17, true); + int tempX = (int) (5 * Math.cos(alpha)); + int tempY = (int) (5 * Math.sin(alpha)); + + a.setMovementX(tempX); + a.setMovementY(tempY); + a.setAngle(alpha); + + if((alpha >= 0 && alpha <= Math.PI / 2) || (alpha <= 2 * Math.PI && alpha >= 2 * Math.PI - Math.PI / 2)){ + setDirection(1); + } + else{ + setDirection(0); + } + } + + return a; + } +} diff --git a/core/src/com/dungeoncrawler/model/entities/Player.java b/core/src/com/dungeoncrawler/model/entities/Player.java index e598dcd..b116ed6 100644 --- a/core/src/com/dungeoncrawler/model/entities/Player.java +++ b/core/src/com/dungeoncrawler/model/entities/Player.java @@ -39,6 +39,8 @@ public class Player extends Entity { public void updateStats(int ey){ lvl = ey; + //hp = 100*ey * (hp/(100*(ey-1))); + //maxhp = 100 * ey; standartMaxHp = 100 * ey; standartDmg = 20 * ey; updateItems(); diff --git a/core/src/com/dungeoncrawler/model/entities/Wizard.java b/core/src/com/dungeoncrawler/model/entities/Wizard.java index 3f93d7f..1a0060d 100644 --- a/core/src/com/dungeoncrawler/model/entities/Wizard.java +++ b/core/src/com/dungeoncrawler/model/entities/Wizard.java @@ -41,7 +41,7 @@ public class Wizard extends Entity{ public boolean move(int xPosPlayer, int yPosPlayer) { if(!isToDelete()){ - double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); + double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer + 32, yPosPlayer + 32); int distance = (int) StaticMath.calculateDistance((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer, alpha); if(distance >= minRange && distance <= maxRange && counter % attackSpeed == 0){ @@ -86,8 +86,8 @@ public class Wizard extends Entity{ double alpha = StaticMath.calculateAngle((int) this.xPos, (int) this.yPos, xPosPlayer, yPosPlayer); a = new Spell(this.xPos + 32, this.yPos + 32, this.lvl,(int) this.dmg, 4, true); - int tempX = (int) (6 * Math.cos(alpha)); - int tempY = (int) (6 * Math.sin(alpha)); + int tempX = (int) (5 * Math.cos(alpha)); + int tempY = (int) (5 * Math.sin(alpha)); a.setMovementX(tempX); a.setMovementY(tempY); diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index d18cbbe..21e2e10 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -77,46 +77,46 @@ public class GameScreen { Texture[] playerTexture = new Texture[4]; switch(d.getPlayer().getSkin()){ case 0: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/player.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/player.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/player.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/player.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/player.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/player.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/player.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/player.png")); break; case 1: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/playerblue.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/playerblue.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/playerblue.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/playerblue.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/playerblue.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/playerblue.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/playerblue.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/playerblue.png")); break; case 2: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/playerpurple.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/playerpurple.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/playerpurple.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/playerpurple.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/playerpurple.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/playerpurple.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/playerpurple.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/playerpurple.png")); break; case 3: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/playergreen.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/playergreen.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/playergreen.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/playergreen.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/playergreen.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/playergreen.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/playergreen.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/playergreen.png")); break; case 4: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/playerorange.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/playerorange.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/playerorange.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/playerorange.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/playerorange.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/playerorange.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/playerorange.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/playerorange.png")); break; case 5: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/playerblack.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/playerblack.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/playerblack.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/playerblack.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/playerblack.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/playerblack.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/playerblack.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/playerblack.png")); break; case 6: - playerTexture[0] = new Texture(Gdx.files.internal("sprites/playerred.png")); - playerTexture[1] = new Texture(Gdx.files.internal("sprites/playerred.png")); - playerTexture[2] = new Texture(Gdx.files.internal("sprites/playerred.png")); - playerTexture[3] = new Texture(Gdx.files.internal("sprites/playerred.png")); + playerTexture[0] = new Texture(Gdx.files.internal("sprites/player/playerred.png")); + playerTexture[1] = new Texture(Gdx.files.internal("sprites/player/playerred.png")); + playerTexture[2] = new Texture(Gdx.files.internal("sprites/player/playerred.png")); + playerTexture[3] = new Texture(Gdx.files.internal("sprites/player/playerred.png")); break; } @@ -319,74 +319,95 @@ public class GameScreen { Texture[] tx = new Texture[1]; //nimmt entity ID -> 0 = Archer || 1 = Swordsman || 2 = Arrow || 3 = Wizard + double g = Math.random(); + String gender; + if(g >= 0.5){ + gender = "m"; + } + else{ + gender = "w"; + } + switch(e.getId()){ case 0: - tx[0] = new Texture("sprites/archer.png"); + tx[0] = new Texture("sprites/archer/archer_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 1: - tx[0] = new Texture("sprites/swordsman.png"); + tx[0] = new Texture("sprites/swordsman/swordsman_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 2: - tx[0] = new Texture("sprites/arrow.png"); + tx[0] = new Texture("sprites/projectile/arrow.png"); entitySprites[i] = new EntitySprite(tx, 24, 5); break; case 3: - tx[0] = new Texture("sprites/wizard.png"); + tx[0] = new Texture("sprites/wizard/wizard_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 4: - tx[0] = new Texture("sprites/spell.png"); + tx[0] = new Texture("sprites/spell/spell.png"); entitySprites[i] = new EntitySprite(tx, 16, 16); break; case 5: - tx[0] = new Texture("sprites/laser.png"); + tx[0] = new Texture("sprites/projectile/laser.png"); entitySprites[i] = new EntitySprite(tx, 36, 15); break; case 6: - tx[0] = new Texture("sprites/firewizard.png"); + tx[0] = new Texture("sprites/wizard/firewizard_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 7: - tx[0] = new Texture("sprites/firespell.png"); + tx[0] = new Texture("sprites/spell/firespell.png"); entitySprites[i] = new EntitySprite(tx, 16, 16); break; case 8: - tx[0] = new Texture("sprites/earthwizard.png"); + tx[0] = new Texture("sprites/wizard/earthwizard_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 9: - tx[0] = new Texture("sprites/earthspell.png"); + tx[0] = new Texture("sprites/spell/earthspell.png"); entitySprites[i] = new EntitySprite(tx, 16, 16); break; case 10: - tx[0] = new Texture("sprites/fireswordsman.png"); + tx[0] = new Texture("sprites/swordsman/fireswordsman_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 11: - tx[0] = new Texture("sprites/icearcher.png"); + tx[0] = new Texture("sprites/archer/icearcher_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 12: - tx[0] = new Texture("sprites/icearrow.png"); + tx[0] = new Texture("sprites/projectile/icearrow.png"); entitySprites[i] = new EntitySprite(tx, 24, 5); break; case 13: - tx[0] = new Texture("sprites/firearcher.png"); + tx[0] = new Texture("sprites/archer/firearcher_"+gender+".png"); entitySprites[i] = new EntitySprite(tx, 64, 64); break; case 14: - tx[0] = new Texture("sprites/firearrow.png"); + tx[0] = new Texture("sprites/projectile/firearrow.png"); entitySprites[i] = new EntitySprite(tx, 24, 5); break; + case 15: + tx[0] = new Texture("sprites/swordsman/iceswordsman_"+gender+".png"); + entitySprites[i] = new EntitySprite(tx, 64, 64); + break; + case 16: + tx[0] = new Texture("sprites/wizard/icewizard_"+gender+".png"); + entitySprites[i] = new EntitySprite(tx, 64, 64); + break; + case 17: + tx[0] = new Texture("sprites/spell/icespell.png"); + entitySprites[i] = new EntitySprite(tx, 16, 16); + break; } entitySprites[i].update((int) e.getxPos() + 32, (int) e.getyPos() + 32); diff --git a/core/src/com/dungeoncrawler/view/HudContainer.java b/core/src/com/dungeoncrawler/view/HudContainer.java index 8267647..ddeb5fe 100644 --- a/core/src/com/dungeoncrawler/view/HudContainer.java +++ b/core/src/com/dungeoncrawler/view/HudContainer.java @@ -141,7 +141,7 @@ public class HudContainer { } selectedSprite.draw(batch); playerHealthSprite.draw(batch); - + font.draw(batch, p.getHp() + " / " + p.getMaxhp(), playerHealthSprite.getX()+18, playerHealthSprite.getY()+14); if(items[selected] != null){ String selectedName = ""; diff --git a/core/src/com/dungeoncrawler/view/MainMenuScreen.java b/core/src/com/dungeoncrawler/view/MainMenuScreen.java index ee5a966..fbda063 100644 --- a/core/src/com/dungeoncrawler/view/MainMenuScreen.java +++ b/core/src/com/dungeoncrawler/view/MainMenuScreen.java @@ -97,13 +97,13 @@ public class MainMenuScreen{ shownPlayer = 0; animationState = 0; - playerRegion[0] = TextureRegion.split(new Texture("sprites/player.png"), 64, 64); - playerRegion[1] = TextureRegion.split(new Texture("sprites/playerblue.png"), 64, 64); - playerRegion[2] = TextureRegion.split(new Texture("sprites/playerpurple.png"), 64, 64); - playerRegion[3] = TextureRegion.split(new Texture("sprites/playergreen.png"), 64, 64); - playerRegion[4] = TextureRegion.split(new Texture("sprites/playerorange.png"), 64, 64); - playerRegion[5] = TextureRegion.split(new Texture("sprites/playerblack.png"), 64, 64); - playerRegion[6] = TextureRegion.split(new Texture("sprites/playerred.png"), 64, 64); + playerRegion[0] = TextureRegion.split(new Texture("sprites/player/player.png"), 64, 64); + playerRegion[1] = TextureRegion.split(new Texture("sprites/player/playerblue.png"), 64, 64); + playerRegion[2] = TextureRegion.split(new Texture("sprites/player/playerpurple.png"), 64, 64); + playerRegion[3] = TextureRegion.split(new Texture("sprites/player/playergreen.png"), 64, 64); + playerRegion[4] = TextureRegion.split(new Texture("sprites/player/playerorange.png"), 64, 64); + playerRegion[5] = TextureRegion.split(new Texture("sprites/player/playerblack.png"), 64, 64); + playerRegion[6] = TextureRegion.split(new Texture("sprites/player/playerred.png"), 64, 64); playerSprite = new Sprite(playerRegion[shownPlayer][0][animationState]); diff --git a/desktop/src/com/dungeoncrawler/desktop/DesktopLauncher.java b/desktop/src/com/dungeoncrawler/desktop/DesktopLauncher.java index a66a374..243eee5 100644 --- a/desktop/src/com/dungeoncrawler/desktop/DesktopLauncher.java +++ b/desktop/src/com/dungeoncrawler/desktop/DesktopLauncher.java @@ -18,4 +18,4 @@ public class DesktopLauncher { new LwjglApplication(new Controller(), config); } } -// \ No newline at end of file +//ss \ No newline at end of file