Archer attacks with a chance of 5% per move

master
GammelJan 6 years ago
parent d064d8d208
commit 034ce9f712

@ -25,7 +25,6 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
Entity[] e;
Timer t;
GameScreen m;
Archer a;
int[] tile;
int[] posRoom;
int level;
@ -34,6 +33,10 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
@Override
public void create(){
//TEST
//TEST
roomX = 8;
roomY = 6;
@ -79,7 +82,6 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
Gdx.input.setInputProcessor(this);
t = new Timer();
a = new Archer(0,0,0);
t.scheduleTask(new Timer.Task() {
@Override
@ -87,6 +89,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
for(int i = 0; i< e.length; i++){
if(e[i] == null){}
else{
if(Math.random() < 0.05){
m.arrow(e[i].direction(), e[i].getxPos(), e[i].getyPos());
}
e[i].rdmMove(d.getPlayer().getxPos(), d.getPlayer().getyPos());
m.setPlayerSpriteX(d.getPlayer().getxPos());
m.setPlayerSpriteY(d.getPlayer().getyPos());
@ -247,7 +252,8 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
else if(v.click() == 0){
v = null;
m = new GameScreen(d);
Archer a = new Archer(0,0,0);
newEntity(a,0,0,0);
System.out.println("NICE");
}
}

@ -41,10 +41,11 @@ public abstract class Entity {
}
public void rdmMove(float xPlayer, float yPlayer){
if(xPlayer == xPos){ //PLAYER auf X-Achse von Archer
if(yPlayer == yPos){} // //PLAYER pos = Archer pos
else if(yPlayer > yPos){movementY = -1f;} // //PLAYER ueber Archer
else if(yPlayer < yPos){movementY = 1f;} // //PLAYER unter Archer
else if(yPlayer > yPos){movementY = 1f;} // //PLAYER ueber Archer
else if(yPlayer < yPos){movementY = -1f;} // //PLAYER unter Archer
} //
else if(yPlayer == yPos){ //PLAYER auf Y-Achse von Archer
if(xPlayer == xPos){} // //PLAYER pos = Archer pos
@ -87,10 +88,16 @@ public abstract class Entity {
} ////////////
}
}
if(yPos + movementY < 0){
move();
}
else if(xPos + movementX < 0){
}
else{
move();
}
}
public int direction(){ // returns direction the entity is facing depending on its movement
if(movementX < 0f){ // TIS IS SHIT - NEED REWORK

@ -13,6 +13,7 @@ import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
import com.dungeoncrawler.model.Dungeon;
import com.dungeoncrawler.model.Entity;
import com.dungeoncrawler.model.entities.*;
import com.badlogic.gdx.utils.Timer;
public class GameScreen {
//PLAYER
@ -25,6 +26,11 @@ public class GameScreen {
Sprite[] entitySprites;
TextureRegion[][] archerRegions;
Texture archerTexture;
TextureRegion[][] swordsmanRegions;
Texture swordsmanTexture;
Texture[] arrowTextures;
Sprite[] arrowSprites;
//MAP
Map m;
@ -45,6 +51,10 @@ public class GameScreen {
entityTextures = new Texture[5];
entitySprites = new Sprite[5];
arrowTextures = new Texture[10];
arrowSprites = new Sprite[10];
//Timer[] arrows = new Timer[10];
//MAP
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
@ -144,18 +154,28 @@ public class GameScreen {
public void newEntity(int i,Entity e, int x, int y){
if(e.getId() == 0){ //nimmt entity ID -> 0 = Archer || 1 = Swordsman
entityTextures[i] = new Texture("archer.png");
archerRegions = TextureRegion.split(entityTextures[i], 64, 64);
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);
entitySprites[i] = new Sprite(swordsmanRegions[0][2]);
entitySprites[i] = new Sprite(entityTextures[i]);
entitySprites[i].setX(x);
entitySprites[i].setY(y);
}
}
public void arrow(int direction, float x, float y){
System.out.println("ATTACK");
}
//GETTER
public float getPlayerSpriteX(){
return player.getX();

Loading…
Cancel
Save