Compare commits

...

2 Commits

Author SHA1 Message Date
Asecave
4e6e4198f4 Merge branch 'master' of https://git.ngb.schule/Tim/Zoelda 2021-06-25 22:58:20 +02:00
Asecave
39e7e91dd4 death fix 2021-06-25 22:57:31 +02:00
5 changed files with 46 additions and 49 deletions

View File

@@ -1,15 +1,7 @@
package main; package main;
import ea.Knoten; import ea.Knoten;
import main.entities.Entity;
import main.entities.Snake;
import main.entities.Spider;
import main.maps.Corridor;
import main.entities.player.Player;
import main.maps.Map; import main.maps.Map;
import main.maps.Map01;
import main.maps.Map02;
import main.maps.TestMap;
import main.maps.TutorialMap; import main.maps.TutorialMap;
/** /**
@@ -26,31 +18,8 @@ public class World extends Knoten {
// Map initialisieren // Map initialisieren
currentMap = new TutorialMap(); currentMap = new TutorialMap();
// Map zu EA hinzuf<EFBFBD>gen // Map zu EA hinzufügen
add(currentMap); add(currentMap);
// und Entities auch
Player player = new Player();
add(player.actionFigur);
currentMap.getEntities().add(player);
// und Spinnen auch
Spider spider = new Spider();
add(spider.actionFigur);
currentMap.getEntities().add(spider);
//und
Snake snake = new Snake();
add(snake.actionFigur);
currentMap.getEntities().add(snake);
currentMap.setPlayer(player);
// Alle Entities als ticker registrieren (triggert dann die update methoden)
for (Entity e : currentMap.getEntities()) {
Main.instance.manager.anmelden(e, 20);
}
} }
public Map getCurrentMap() { public Map getCurrentMap() {

View File

@@ -48,7 +48,6 @@ public abstract class LivingEntity extends Entity {
velX = 0; velX = 0;
velY = 0; velY = 0;
if (actionFigur.aktuelleFigur().aktuellesBild() == actionFigur.aktuelleFigur().animation().length - 1) { if (actionFigur.aktuelleFigur().aktuellesBild() == actionFigur.aktuelleFigur().animation().length - 1) {
System.out.println("adasd");
deleteEntity(); deleteEntity();
} }
} }

View File

@@ -1,5 +1,7 @@
package main.entities.player; package main.entities.player;
import java.util.ArrayList;
import ea.Taste; import ea.Taste;
import ea.Vektor; import ea.Vektor;
import main.Main; import main.Main;
@@ -7,9 +9,6 @@ import main.SheetLoader;
import main.entities.Entity; import main.entities.Entity;
import main.entities.LivingEntity; import main.entities.LivingEntity;
import java.awt.event.ActionListener;
import java.util.ArrayList;
public class Player extends LivingEntity { public class Player extends LivingEntity {
private static SheetLoader loader = new SheetLoader("/res/images/player_sprite_sheet.png", 64, 32, new int[] { 5, 8, 7, 6, 2, 5, 4, 7 }); private static SheetLoader loader = new SheetLoader("/res/images/player_sprite_sheet.png", 64, 32, new int[] { 5, 8, 7, 6, 2, 5, 4, 7 });
@@ -107,7 +106,7 @@ public class Player extends LivingEntity {
if ((toE.x > 0 && !side) || (toE.x <= 0 && side)) { if ((toE.x > 0 && !side) || (toE.x <= 0 && side)) {
le.setVelX(le.getVelX() + toE.x * 0.05f); le.setVelX(le.getVelX() + toE.x * 0.05f);
le.setVelY(le.getVelY() + toE.y * 0.05f); le.setVelY(le.getVelY() + toE.y * 0.05f);
le.takeDamage(0.1f, this); le.takeDamage(0.4f, this);
} }
} }
} }

View File

@@ -28,7 +28,8 @@ public abstract class Map extends Knoten implements Ticker {
} }
/** /**
* Gibt das Tile-Objekt an der gegebenen Koordinate zurück. (nur wenn es existiert) * Gibt das Tile-Objekt an der gegebenen Koordinate zurück. (nur wenn es
* existiert)
*/ */
public Tile getTile(int x, int y) { public Tile getTile(int x, int y) {
if (x >= 0 && x < map.length && y >= 0 && y < map[0].length) { if (x >= 0 && x < map.length && y >= 0 && y < map[0].length) {
@@ -41,11 +42,12 @@ public abstract class Map extends Knoten implements Ticker {
public void tick() { public void tick() {
for (int i = 0; i < entities.size(); i++) { for (int i = 0; i < entities.size(); i++) {
Entity e = entities.get(i); Entity e = entities.get(i);
if (e instanceof LivingEntity) { if (e.isReadyToDelete()) {
if (e.isReadyToDelete()) { if (e instanceof LivingEntity) {
Main.instance.manager.abmelden(e); entfernen(((LivingEntity) e).actionFigur);
entities.remove(e);
} }
Main.instance.manager.abmelden(e);
entities.remove(e);
} }
} }
} }
@@ -69,4 +71,10 @@ public abstract class Map extends Knoten implements Ticker {
public void setPlayer(Player player) { public void setPlayer(Player player) {
this.player = player; this.player = player;
} }
public void registerEntities() {
for (Entity e : getEntities()) {
Main.instance.manager.anmelden(e, 20);
}
}
} }

View File

@@ -1,6 +1,9 @@
package main.maps; package main.maps;
import main.Tile; import main.Tile;
import main.entities.Snake;
import main.entities.Spider;
import main.entities.player.Player;
public class TutorialMap extends Map { public class TutorialMap extends Map {
@@ -25,5 +28,24 @@ public class TutorialMap extends Map {
} }
} }
} }
Player player = new Player();
add(player.actionFigur);
getEntities().add(player);
// und Spinnen auch
Spider spider = new Spider();
add(spider.actionFigur);
getEntities().add(spider);
//und
Snake snake = new Snake();
add(snake.actionFigur);
getEntities().add(snake);
setPlayer(player);
// Alle Entities als ticker registrieren (triggert dann die update methoden)
registerEntities();
} }
} }