five moving entities || no collision detection

master
GammelJan 6 years ago
parent 713fd0f85e
commit 21a6e1e973

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -239,8 +239,14 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
m = new GameScreen(d); m = new GameScreen(d);
Archer a = new Archer(0,0,0); Archer a = new Archer(0,0,0);
newEntity(a,96,96,0); newEntity(a,96,96,0);
Archer w = new Archer(0,0,0);
newEntity(w,96,144,0);
Swordsman s = new Swordsman(0,0,0); Swordsman s = new Swordsman(0,0,0);
newEntity(s,288,96,0); newEntity(s,288,96,0);
Swordsman p = new Swordsman(0,0,0);
newEntity(p,288,144,0);
Swordsman q = new Swordsman(0,0,0);
newEntity(q,48,144,0);
System.out.println("NICE"); System.out.println("NICE");
} }
} }

@ -14,6 +14,7 @@ public abstract class Entity {
protected float movementX; protected float movementX;
protected float movementY; protected float movementY;
protected int id; protected int id;
protected int facing;
@ -23,6 +24,7 @@ public abstract class Entity {
this.lvl = lvl; this.lvl = lvl;
this.movementX = 0; this.movementX = 0;
this.movementY = 0; this.movementY = 0;
this.facing = 2;
@ -139,6 +141,13 @@ public abstract class Entity {
return this.id; return this.id;
} }
public int getFacing(){
return facing;
}
public void setFacing(int facing){
this.facing = facing;
}
} }

@ -12,14 +12,13 @@ public class Archer extends Entity{
Timer tleft; Timer tleft;
int timerRuns; int timerRuns;
boolean isRunning; boolean isRunning;
int facing;
public Archer(float xPos, float yPos, int lvl) { public Archer(float xPos, float yPos, int lvl) {
super(xPos, yPos, lvl); super(xPos, yPos, lvl);
this.maxhp = 5*lvl; this.maxhp = 5*lvl;
this.hp = this.maxhp; this.hp = this.maxhp;
this.facing = 2;
this.dmg = 3*lvl; this.dmg = 3*lvl;
this.id = 0; this.id = 0;
// TODO: Sinnvolle Werte finden // TODO: Sinnvolle Werte finden
@ -40,17 +39,25 @@ public class Archer extends Entity{
if(i <= 0.2){ if(i <= 0.2){
if(isRunning == false){ if(isRunning == false){
if(getyPos() == 240){
}
else{
tup.start(); tup.start();
} }
} }
}
else if(i > 0.2 && i <= 0.4){ else if(i > 0.2 && i <= 0.4){
if(isRunning == false){ if(isRunning == false){
if(getxPos() == 336){
}
else{
tright.start(); tright.start();
} }
} }
}
else if(i > 0.4 && i <= 0.6){ else if(i > 0.4 && i <= 0.6){
if(isRunning == false){ if(isRunning == false){
if(getyPos() == 0){ if(getyPos() == 48){
} }
else{ else{
tdown.start(); tdown.start();
@ -59,7 +66,7 @@ public class Archer extends Entity{
} }
else if(i > 0.6 && i <= 0.8){ else if(i > 0.6 && i <= 0.8){
if(isRunning == false){ if(isRunning == false){
if(getxPos() == 0){ if(getxPos() == 48){
} }
else{ else{
tleft.start(); tleft.start();
@ -85,7 +92,7 @@ public class Archer extends Entity{
tup.stop(); tup.stop();
} }
} }
},0,0.03f); },0,0.02f);
tup.stop(); tup.stop();
tright.scheduleTask(new Timer.Task() { tright.scheduleTask(new Timer.Task() {
@Override @Override
@ -100,7 +107,7 @@ public class Archer extends Entity{
tright.stop(); tright.stop();
} }
} }
},0,0.03f); },0,0.02f);
tright.stop(); tright.stop();
tdown.scheduleTask(new Timer.Task() { tdown.scheduleTask(new Timer.Task() {
@Override @Override
@ -115,7 +122,7 @@ public class Archer extends Entity{
tdown.stop(); tdown.stop();
} }
} }
},0,0.03f); },0,0.02f);
tdown.stop(); tdown.stop();
tleft.scheduleTask(new Timer.Task() { tleft.scheduleTask(new Timer.Task() {
@Override @Override
@ -131,7 +138,7 @@ public class Archer extends Entity{
tleft.stop(); tleft.stop();
} }
} }
},0,0.03f); },0,0.02f);
tleft.stop(); tleft.stop();
t.start(); t.start();
} }
@ -151,12 +158,6 @@ public class Archer extends Entity{
timerRuns = n; timerRuns = n;
} }
public void setFacing(int i){
facing = i;
}
public int getFacing(){
return facing;
}
} }

@ -11,14 +11,13 @@ public class Swordsman extends Entity {
Timer tleft; Timer tleft;
int timerRuns; int timerRuns;
boolean isRunning; boolean isRunning;
int facing;
public Swordsman(float xPos, float yPos, int lvl) { public Swordsman(float xPos, float yPos, int lvl) {
super(xPos, yPos, lvl); super(xPos, yPos, lvl);
this.maxhp = 5*lvl; this.maxhp = 5*lvl;
this.hp = this.maxhp; this.hp = this.maxhp;
this.facing = 2;
this.dmg = 3*lvl; this.dmg = 3*lvl;
this.id = 1; this.id = 1;
// TODO: Sinnvolle Werte finden // TODO: Sinnvolle Werte finden
@ -38,17 +37,25 @@ public class Swordsman extends Entity {
if(i <= 0.2){ if(i <= 0.2){
if(isRunning == false){ if(isRunning == false){
if(getyPos() == 240){
}
else{
tup.start(); tup.start();
} }
} }
}
else if(i > 0.2 && i <= 0.4){ else if(i > 0.2 && i <= 0.4){
if(isRunning == false){ if(isRunning == false){
if(getxPos() == 336){
}
else{
tright.start(); tright.start();
} }
} }
}
else if(i > 0.4 && i <= 0.6){ else if(i > 0.4 && i <= 0.6){
if(isRunning == false){ if(isRunning == false){
if(getyPos() == 0){ if(getyPos() == 48){
} }
else{ else{
tdown.start(); tdown.start();
@ -57,7 +64,7 @@ public class Swordsman extends Entity {
} }
else if(i > 0.6 && i <= 0.8){ else if(i > 0.6 && i <= 0.8){
if(isRunning == false){ if(isRunning == false){
if(getxPos() == 0){ if(getxPos() == 48){
} }
else{ else{
tleft.start(); tleft.start();
@ -65,7 +72,6 @@ public class Swordsman extends Entity {
} }
} }
else{ else{
facing = 2;
} }
} }
},0,1f); },0,1f);
@ -149,11 +155,5 @@ public class Swordsman extends Entity {
timerRuns = n; timerRuns = n;
} }
public void setFacing(int i){
facing = i;
}
public int getFacing(){
return facing;
}
} }

@ -41,8 +41,8 @@ public class GameScreen {
public GameScreen(Dungeon d) { public GameScreen(Dungeon d) {
//PLAYER //PLAYER
p = new Texture("Player.png"); p = new Texture("player.png");
regions = TextureRegion.split(p, 64, 64); regions = TextureRegion.split(p, 48, 48);
player = new Sprite(regions[0][2]); player = new Sprite(regions[0][2]);
player.setX(200); player.setX(200);
player.setY(200); player.setY(200);
@ -126,20 +126,40 @@ public class GameScreen {
if(entitySprites[i] != null){ if(entitySprites[i] != null){
entitySprites[i].setX(e[i].getxPos()); entitySprites[i].setX(e[i].getxPos());
entitySprites[i].setY(e[i].getyPos()); entitySprites[i].setY(e[i].getyPos());
switch(e[i].direction()){ switch(e[i].getFacing()){
case -1: case -1:
break; break;
case 0: case 0:
if(e[i].getId() == 0){
entitySprites[i].setRegion(archerRegions[0][0]); entitySprites[i].setRegion(archerRegions[0][0]);
}
else if(e[i].getId() == 1){
entitySprites[i].setRegion(swordsmanRegions[0][0]);
}
break; break;
case 1: case 1:
if(e[i].getId() == 0){
entitySprites[i].setRegion(archerRegions[0][1]); entitySprites[i].setRegion(archerRegions[0][1]);
}
else if(e[i].getId() == 1){
entitySprites[i].setRegion(swordsmanRegions[0][1]);
}
break; break;
case 2: case 2:
if(e[i].getId() == 0){
entitySprites[i].setRegion(archerRegions[0][2]); entitySprites[i].setRegion(archerRegions[0][2]);
}
else if(e[i].getId() == 1){
entitySprites[i].setRegion(swordsmanRegions[0][2]);
}
break; break;
case 3: case 3:
if(e[i].getId() == 0){
entitySprites[i].setRegion(archerRegions[0][3]); entitySprites[i].setRegion(archerRegions[0][3]);
}
else if(e[i].getId() == 1){
entitySprites[i].setRegion(swordsmanRegions[0][3]);
}
break; break;
} }
@ -158,22 +178,21 @@ public class GameScreen {
public void newEntity(int i,Entity e, float x, float y){ 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"); 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] = new Sprite(archerRegions[0][2]);
entitySprites[i].setX(x); entitySprites[i].setX(x);
entitySprites[i].setY(y); entitySprites[i].setY(y);
} }
else if(e.getId() == 1){ if(e.getId() == 1){
entityTextures[i] = new Texture("Swordsman.png"); entityTextures[i] = new Texture("swordsman.png");
swordsmanRegions = TextureRegion.split(entityTextures[i], 64, 64); swordsmanRegions = TextureRegion.split(entityTextures[i], 48, 48);
entitySprites[i] = new Sprite(swordsmanRegions[0][2]); entitySprites[i] = new Sprite(swordsmanRegions[0][2]);
entitySprites[i] = new Sprite(entityTextures[i]);
entitySprites[i].setX(x); entitySprites[i].setX(x);
entitySprites[i].setY(y); entitySprites[i].setY(y);
} }
else if(e.getId() == 2){ if(e.getId() == 2){
arrowTextures[i] = new Texture("key.png"); arrowTextures[i] = new Texture("key.png");
arrowSprites[i] = new Sprite(arrowTextures[i]); arrowSprites[i] = new Sprite(arrowTextures[i]);
arrowSprites[i].setX(x); arrowSprites[i].setX(x);

Loading…
Cancel
Save