From 21a6e1e9732c18a63b982f32268ebfcb481d9105 Mon Sep 17 00:00:00 2001 From: GammelJan Date: Tue, 14 Apr 2020 11:15:40 +0200 Subject: [PATCH] five moving entities || no collision detection --- core/assets/archer.png | Bin 1003 -> 2471 bytes core/assets/player.png | Bin 0 -> 1415 bytes core/assets/swordsman.png | Bin 0 -> 1404 bytes .../dungeoncrawler/control/Controller.java | 6 +++ core/src/com/dungeoncrawler/model/Entity.java | 9 ++++ .../dungeoncrawler/model/entities/Archer.java | 33 ++++++------ .../model/entities/Swordsman.java | 26 +++++----- .../com/dungeoncrawler/view/GameScreen.java | 47 ++++++++++++------ 8 files changed, 78 insertions(+), 43 deletions(-) create mode 100644 core/assets/player.png create mode 100644 core/assets/swordsman.png diff --git a/core/assets/archer.png b/core/assets/archer.png index f1c0712b084263fce5ce8a8a55b7b742c01df95e..b35e6e962a75c26d5942571af85cfbe40c2e53b5 100644 GIT binary patch delta 2393 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 VQi6~Ub^-tZ002ovPDHLkV1gP|e&+xH literal 0 HcmV?d00001 diff --git a/core/assets/swordsman.png b/core/assets/swordsman.png new file mode 100644 index 0000000000000000000000000000000000000000..689fb6827a0146b717fe7e62c3ee5090c890db15 GIT binary patch literal 1404 zcmV-?1%vvDP)EX>4Tx04R}tkv&MmKpe$i(@Kj}9oj)eFhg~+AS&W0RV;#q(pG5I!Q|2}Xws0h zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOiy{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0}2qY?S9$OCp000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000A1NklM(AK~1SaSV zouMP3F2MVWR7F4_u^r#U{%?WUIVUmDcDLunIp^Hx@9U^z9LL2u=cZ}u98+)}gL7=c z^G6NN+)9l3Aen55i$Y9@g?!=r=zQUakvkE>gK-t+7D0257mkZr0GIxI<2#hpzZt=z zRN+SrkYfZcD(BGi%(1zwSd#@bgXPRv4w^QEW&{gqh#WS+Q5wchg1P`x$+>kNvGFhq z=!8h>*bS)%G$U9b7k;(@*2u`Q9+#r#G)*k~q1r5<1sGK0G*F$;?Rjx-1}Dkv-23`6 zBUDWMFnX#ly3dcL)J0IneSR#lYoW3x%KBQvxsBtvaMaDZVErio8(fE4xx(|>; z|B!a6y>%@Xp`_$*PN>FM8~wH9O^pHU&a%$9Jujp=(YEYOHUKr5!Zq*FLD#yE$e9RX zPD)uIH77`UQo9E*Bh---?TwBk18@;(uk(@m^eLhd)^Z|kfg@e0y@`O57nm-P837|F zXszwj2H+;q(f+p|^cvr%-O7oS1yb%olqp#i9?WHZp5G zh8ch${1WIsVxE63djUUTs$T+0Uf_LxEL$W(-2_t={`>msN_633F!GOtpzX$Iz!~}<$qC9tP;CI@;;&)yQshJXM2L2QN^Witd;IU~tMfEP zd0!y*U7x>iHjJie>NG9`?R@}+1zEF!wHcw;N`Dj!{1SgHv|C{9J1B^cVgxgQ5x?l3 ztF#e%&Ggr3ff(_TEZ{#YL42)7FasFzRfV(>dhPTtZGjZxBUnKDjX5bJm;o9hK4Nei zp+}&6FyJu24xcTlNDXvP56$2TKv8UXQiwxbuQf%w!Gh~2qeBVlWQ26)s6 zL#;2N8}TiU7@ 0.2 && i <= 0.4){ if(isRunning == false){ - tright.start(); + if(getxPos() == 336){ + } + else{ + tright.start(); + } } } else if(i > 0.4 && i <= 0.6){ if(isRunning == false){ - if(getyPos() == 0){ + if(getyPos() == 48){ } else{ tdown.start(); @@ -59,7 +66,7 @@ public class Archer extends Entity{ } else if(i > 0.6 && i <= 0.8){ if(isRunning == false){ - if(getxPos() == 0){ + if(getxPos() == 48){ } else{ tleft.start(); @@ -85,7 +92,7 @@ public class Archer extends Entity{ tup.stop(); } } - },0,0.03f); + },0,0.02f); tup.stop(); tright.scheduleTask(new Timer.Task() { @Override @@ -100,7 +107,7 @@ public class Archer extends Entity{ tright.stop(); } } - },0,0.03f); + },0,0.02f); tright.stop(); tdown.scheduleTask(new Timer.Task() { @Override @@ -115,7 +122,7 @@ public class Archer extends Entity{ tdown.stop(); } } - },0,0.03f); + },0,0.02f); tdown.stop(); tleft.scheduleTask(new Timer.Task() { @Override @@ -131,7 +138,7 @@ public class Archer extends Entity{ tleft.stop(); } } - },0,0.03f); + },0,0.02f); tleft.stop(); t.start(); } @@ -151,12 +158,6 @@ public class Archer extends Entity{ timerRuns = n; } - public void setFacing(int i){ - facing = i; - } - public int getFacing(){ - return facing; - } } diff --git a/core/src/com/dungeoncrawler/model/entities/Swordsman.java b/core/src/com/dungeoncrawler/model/entities/Swordsman.java index 91ce978..a0f93be 100644 --- a/core/src/com/dungeoncrawler/model/entities/Swordsman.java +++ b/core/src/com/dungeoncrawler/model/entities/Swordsman.java @@ -11,14 +11,13 @@ public class Swordsman extends Entity { Timer tleft; int timerRuns; boolean isRunning; - int facing; public Swordsman(float xPos, float yPos, int lvl) { super(xPos, yPos, lvl); this.maxhp = 5*lvl; this.hp = this.maxhp; - + this.facing = 2; this.dmg = 3*lvl; this.id = 1; // TODO: Sinnvolle Werte finden @@ -38,17 +37,25 @@ public class Swordsman extends Entity { if(i <= 0.2){ if(isRunning == false){ - tup.start(); + if(getyPos() == 240){ + } + else{ + tup.start(); + } } } else if(i > 0.2 && i <= 0.4){ if(isRunning == false){ - tright.start(); + if(getxPos() == 336){ + } + else{ + tright.start(); + } } } else if(i > 0.4 && i <= 0.6){ if(isRunning == false){ - if(getyPos() == 0){ + if(getyPos() == 48){ } else{ tdown.start(); @@ -57,7 +64,7 @@ public class Swordsman extends Entity { } else if(i > 0.6 && i <= 0.8){ if(isRunning == false){ - if(getxPos() == 0){ + if(getxPos() == 48){ } else{ tleft.start(); @@ -65,7 +72,6 @@ public class Swordsman extends Entity { } } else{ - facing = 2; } } },0,1f); @@ -149,11 +155,5 @@ public class Swordsman extends Entity { timerRuns = n; } - public void setFacing(int i){ - facing = i; - } - public int getFacing(){ - return facing; - } } diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index 42c0527..a8c50c2 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -41,8 +41,8 @@ public class GameScreen { public GameScreen(Dungeon d) { //PLAYER - p = new Texture("Player.png"); - regions = TextureRegion.split(p, 64, 64); + p = new Texture("player.png"); + regions = TextureRegion.split(p, 48, 48); player = new Sprite(regions[0][2]); player.setX(200); player.setY(200); @@ -126,20 +126,40 @@ public class GameScreen { if(entitySprites[i] != null){ entitySprites[i].setX(e[i].getxPos()); entitySprites[i].setY(e[i].getyPos()); - switch(e[i].direction()){ + switch(e[i].getFacing()){ case -1: break; case 0: - entitySprites[i].setRegion(archerRegions[0][0]); + if(e[i].getId() == 0){ + entitySprites[i].setRegion(archerRegions[0][0]); + } + else if(e[i].getId() == 1){ + entitySprites[i].setRegion(swordsmanRegions[0][0]); + } break; case 1: - entitySprites[i].setRegion(archerRegions[0][1]); + if(e[i].getId() == 0){ + entitySprites[i].setRegion(archerRegions[0][1]); + } + else if(e[i].getId() == 1){ + entitySprites[i].setRegion(swordsmanRegions[0][1]); + } break; case 2: - entitySprites[i].setRegion(archerRegions[0][2]); + if(e[i].getId() == 0){ + entitySprites[i].setRegion(archerRegions[0][2]); + } + else if(e[i].getId() == 1){ + entitySprites[i].setRegion(swordsmanRegions[0][2]); + } break; case 3: - entitySprites[i].setRegion(archerRegions[0][3]); + if(e[i].getId() == 0){ + entitySprites[i].setRegion(archerRegions[0][3]); + } + else if(e[i].getId() == 1){ + entitySprites[i].setRegion(swordsmanRegions[0][3]); + } break; } @@ -158,22 +178,21 @@ public class GameScreen { public void newEntity(int i,Entity e, float x, float y){ - if(e.getId() == 0){ //nimmt entity ID -> 0 = Archer || 1 = Swordsman + if(e.getId() == 0){ //nimmt entity ID -> 0 = Archer || 1 = Swordsman || 2 = Arrow entityTextures[i] = new Texture("archer.png"); - archerRegions = TextureRegion.split(entityTextures[i], 64, 64); + archerRegions = TextureRegion.split(entityTextures[i], 48, 48); entitySprites[i] = new Sprite(archerRegions[0][2]); entitySprites[i].setX(x); entitySprites[i].setY(y); } - else if(e.getId() == 1){ - entityTextures[i] = new Texture("Swordsman.png"); - swordsmanRegions = TextureRegion.split(entityTextures[i], 64, 64); + if(e.getId() == 1){ + entityTextures[i] = new Texture("swordsman.png"); + swordsmanRegions = TextureRegion.split(entityTextures[i], 48, 48); entitySprites[i] = new Sprite(swordsmanRegions[0][2]); - entitySprites[i] = new Sprite(entityTextures[i]); entitySprites[i].setX(x); entitySprites[i].setY(y); } - else if(e.getId() == 2){ + if(e.getId() == 2){ arrowTextures[i] = new Texture("key.png"); arrowSprites[i] = new Sprite(arrowTextures[i]); arrowSprites[i].setX(x);