From fd009e8539129ddb62daa438368218d3d6dab6a9 Mon Sep 17 00:00:00 2001 From: GammelJan Date: Thu, 9 Apr 2020 10:55:51 +0200 Subject: [PATCH] =?UTF-8?q?FR=C3=9CHJAHRESGEPUTZT:=20Entity.java=20Package?= =?UTF-8?q?=20entities=20MainMenu.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/com/dungeoncrawler/model/Entity.java | 117 ++++++++---------- .../src/com/dungeoncrawler/view/MainMenu.java | 15 +-- core/src/com/dungeoncrawler/view/View.java | 97 ++++++++------- 3 files changed, 103 insertions(+), 126 deletions(-) diff --git a/core/src/com/dungeoncrawler/model/Entity.java b/core/src/com/dungeoncrawler/model/Entity.java index 4e281fb..187b415 100644 --- a/core/src/com/dungeoncrawler/model/Entity.java +++ b/core/src/com/dungeoncrawler/model/Entity.java @@ -41,80 +41,59 @@ public abstract class Entity { } public void rdmMove(float xPlayer, float yPlayer){ - if(xPlayer == xPos){ - if(yPlayer == yPos){} - else if(yPlayer > yPos){movementY = -1f;} - else if(yPlayer < yPos){movementY = 1f;} - } - else if(yPlayer == yPos){ - if(xPlayer == xPos){} - else if(xPlayer > xPos){movementX = 1f;} - else if(xPlayer < xPos){movementX = -1f;} - } - else if(xPlayer > xPos){ - if(yPlayer > yPos){ //archer ist im Quadrant III - if((yPos - yPlayer) > (xPos - xPlayer)){ - movementY = 1f; - } - else{ - movementX = 1f; - } - } - else if(yPlayer < yPos){ //archer ist im Quadrant IV - if((yPos - yPlayer) > (xPlayer - xPos)){ - movementX = 1f; - } - else{ - movementY = -1f; - } - } - } - else if(xPlayer < xPos){ - if(yPlayer < yPos){ //archer ist im Quadrant II - if((yPlayer - yPos) > (xPlayer - xPos)){ - movementX = -1f; - } - else{ - movementY = 1f; - } - } - else if(yPlayer > yPos){ //archer ist im Quadrant I - if((yPlayer - yPos) > (xPos - xPlayer)){ - movementY = -1; - } - else{ - movementX = -1; - } + if(xPlayer == xPos){ //PLAYER auf X-Achse von Archer + if(yPlayer == yPos){} // //PLAYER pos = Archer pos + else if(yPlayer > yPos){movementY = -1f;} // //PLAYER über 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 + else if(xPlayer > xPos){movementX = 1f;} // //PLAYER rechts von Archer + else if(xPlayer < xPos){movementX = -1f;} // //PLAYER links von Archer + } // + else if(xPlayer > xPos){ //PLAYER rechts von Archer + if(yPlayer > yPos){ // //PLAYER ist im Quadrant I + if((yPlayer - yPos) > (xPlayer - xPos)){ // // //Weg zu PLAYER x kürzer als zu PLAYER y + movementX = 1f; // // // + } // // // + else{ // // //Weg zu PLAYER y kürzer als zu PLAYER x + movementY = 1f; // // + } // // + } // // + else if(yPlayer < yPos){ // //PLAYER ist im Quadrant II + if((yPos - yPlayer) > (xPlayer - xPos)){ // //Weg zu PLAYER x kürzer als zu PLAYER y + movementX = 1f; // // + } // // + else{ // //Weg zu PLAYER y kürzer als zu PLAYER y + movementY = -1f; // + } // + } // + } // + else if(xPlayer < xPos){ //PLAYER links von Archer + if(yPlayer < yPos){ // //PLAYER ist im Quadrant III + if((yPlayer - yPos) > (xPlayer - xPos)){ // // //Weg zu PLAYER x kürzer als zu PLAYER y + movementX = -1f; // // // + } // // // + else{ // // //Weg zu PLAYER y kürzer als zu PLAYER x + movementY = -1f; // // + } // // + } // // + else if(yPlayer > yPos){ // //PLAYER ist im Quadrant IV + if((yPlayer - yPos) > (xPos - xPlayer)){ // //Weg zu PLAYER x kürzer als zu PLAYER y + movementX = -1; // // + } // // + else{ // //Weg zu PLAYER y kürzer als zu PLAYER x + movementY = 1; // + } //////////// } } move(); - - /* - switch((int) (Math.random() * 5)){ - case 0: //left - setMovementX(-3); - move(); - break; - case 1: //right - setMovementX(3); - move(); - break; - case 2: //up - setMovementY(3); - move(); - break; - case 3: //down - setMovementY(-3); - move(); - break; - } - */ } - public int direction(){ - if(movementX < 0f){ + public int direction(){ // returns direction the entity is facing depending on its movement + if(movementX < 0f){ // TIS IS SHIT - NEED REWORK return 3; } else if(movementX < 3f){ @@ -128,7 +107,9 @@ public abstract class Entity { } return -1; } - + + + // GETTER + SETTER public float getxPos() { return xPos; } diff --git a/core/src/com/dungeoncrawler/view/MainMenu.java b/core/src/com/dungeoncrawler/view/MainMenu.java index 603a9d1..72e1e0c 100644 --- a/core/src/com/dungeoncrawler/view/MainMenu.java +++ b/core/src/com/dungeoncrawler/view/MainMenu.java @@ -26,12 +26,7 @@ public class MainMenu{ Sprite cursor; float CursorMoveX; float CursorMoveY; - /* - //PLAYER - Texture p; - Sprite player; - TextureRegion[][] regions; - */ + public MainMenu() { //MENU-SCREEN float w = Gdx.graphics.getWidth(); @@ -78,7 +73,7 @@ public class MainMenu{ public void moveCursor(int direction){ - switch(direction){ + switch(direction){ //starts the directional movement of the cursor in one direction depending on the pressed key case 0: CursorMoveY = 10f; break; case 1: @@ -89,7 +84,7 @@ public class MainMenu{ CursorMoveX = -10f; break; } } - public void stopCursor(int direction){ + public void stopCursor(int direction){ //stops the directional movement of the cursor in one direction depending on the released key switch(direction){ case 0: CursorMoveY = 0f; break; @@ -101,12 +96,12 @@ public class MainMenu{ CursorMoveX = 0f; break; } } - public int click(){ + public int click(){ // prüft ob cursor mit button (START) überlappt Rectangle rectangleCursor = cursor.getBoundingRectangle(); Rectangle rectangleButton = button.getBoundingRectangle(); boolean overlapsPlay = rectangleCursor.overlaps(rectangleButton); if(overlapsPlay == true){ - return 0; + return 0; // ints weil für mehr buttons eine ID festgelegt werden kann. 0 = START - -1 = kein button } else{return -1;} } diff --git a/core/src/com/dungeoncrawler/view/View.java b/core/src/com/dungeoncrawler/view/View.java index 4d622aa..edc5da6 100644 --- a/core/src/com/dungeoncrawler/view/View.java +++ b/core/src/com/dungeoncrawler/view/View.java @@ -20,8 +20,6 @@ public class View { Sprite player; TextureRegion[][] regions; - - //ENTITIES Texture[] entityTextures; Sprite[] entitySprites; @@ -31,13 +29,10 @@ public class View { //MAP Map m; TiledMapRenderer tmr; - TiledMap test; + TiledMap tm; OrthographicCamera camera; public View(Dungeon d) { - float w = Gdx.graphics.getWidth(); - float h = Gdx.graphics.getHeight(); - float wc = w/2; //PLAYER p = new Texture("Player.png"); @@ -49,12 +44,11 @@ public class View { //ENTITIES entityTextures = new Texture[5]; entitySprites = new Sprite[5]; - archerTexture = new Texture("archer.png"); - archerRegions = TextureRegion.split(archerTexture, 64, 64); - - //MAP + float w = Gdx.graphics.getWidth(); + float h = Gdx.graphics.getHeight(); + m = new Map(); camera = new OrthographicCamera(1, h/w); @@ -64,40 +58,43 @@ public class View { m.setMaps(maps); mg.ichWillSpielen(m.getMaps()); - test = new TiledMap(); - tmr = new OrthogonalTiledMapRenderer(test); + tm = new TiledMap(); + tmr = new OrthogonalTiledMapRenderer(tm); } public void render (SpriteBatch batch, Player p, Entity[] e, int[] tile, int level, int[] posRoom) { + Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + //setzt player Sprite auf richtige Position player.setX(p.getxPos()); player.setY(p.getyPos()); int xPosRoom = posRoom[0]; int yPosRoom = posRoom[1]; - test = m.getMaps()[level][xPosRoom][yPosRoom]; + tm = m.getMaps()[level][xPosRoom][yPosRoom]; - if(test == null){ + if(tm == null){ System.out.println("Dein scheiß geht net"); } else{ - tmr = new OrthogonalTiledMapRenderer(test); + tmr = new OrthogonalTiledMapRenderer(tm); } - if(p.getMovementX() == 3){ + // dreht SpielerSprite je nach Bewegungsrichtung + if(p.getMovementX() == 3){ //RECHTS player.setRegion(regions[0][1]); } - if(p.getMovementX() == -3){ + if(p.getMovementX() == -3){ //LINKS player.setRegion(regions[0][3]); } - if(p.getMovementY() == 3){ + if(p.getMovementY() == 3){ //OBEN player.setRegion(regions[0][0]); } - if(p.getMovementY() == -3){ + if(p.getMovementY() == -3){ //UNTEN player.setRegion(regions[0][2]); } @@ -112,40 +109,40 @@ public class View { - //BATCH - batch.begin(); + //BATCH + batch.begin(); player.draw(batch); + //DRAW'T JEDES ENTITY - prüft vorher ob vorhanden for(int i = 0; i < e.length; i++){ - - if(entitySprites[i] != null){ - entitySprites[i].setX(e[i].getxPos()); - entitySprites[i].setY(e[i].getyPos()); - switch(e[i].direction()){ - case -1: - break; - case 0: - entitySprites[i].setRegion(archerRegions[0][0]); - break; - case 1: - entitySprites[i].setRegion(archerRegions[0][1]); - break; - case 2: - entitySprites[i].setRegion(archerRegions[0][2]); - break; - case 3: - entitySprites[i].setRegion(archerRegions[0][3]); - break; + if(entitySprites[i] != null){ + entitySprites[i].setX(e[i].getxPos()); + entitySprites[i].setY(e[i].getyPos()); + switch(e[i].direction()){ + case -1: + break; + case 0: + entitySprites[i].setRegion(archerRegions[0][0]); + break; + case 1: + entitySprites[i].setRegion(archerRegions[0][1]); + break; + case 2: + entitySprites[i].setRegion(archerRegions[0][2]); + break; + case 3: + entitySprites[i].setRegion(archerRegions[0][3]); + break; } entitySprites[i].draw(batch); } } - batch.end(); + batch.end(); } public void newEntity(int i,Entity e, int x, int y){ - if(e.getId() == 0){ + if(e.getId() == 0){ //nimmt entity ID -> 0 = Archer || 1 = Swordsman entityTextures[i] = new Texture("archer.png"); entitySprites[i] = new Sprite(archerRegions[0][2]); entitySprites[i].setX(x); @@ -159,18 +156,13 @@ public class View { } } + //GETTER public float getPlayerSpriteX(){ return player.getX(); } public float getPlayerSpriteY(){ return player.getY(); } - public void setPlayerSpriteX(float x){ - player.setX(x); - } - public void setPlayerSpriteY(float y){ - player.setY(y); - } public float getEntitySpriteX(int i){ return entitySprites[i].getX(); @@ -178,6 +170,15 @@ public class View { public float getEntitySpriteY(int i){ return entitySprites[i].getY(); } + + //SETTER + public void setPlayerSpriteX(float x){ + player.setX(x); + } + public void setPlayerSpriteY(float y){ + player.setY(y); + } + public void setEntitySpriteX(int i,float x){ entitySprites[i].setX(x); }