added concept for monsters

This commit is contained in:
2025-11-28 23:35:30 +01:00
parent f212e5e4a8
commit 71dc34b418
58 changed files with 73 additions and 9 deletions

View File

@@ -48,6 +48,7 @@ public class GamePanel extends JPanel implements Runnable {
public Player player = new Player(this, keyH);
public Entity[] obj = new Entity[10];
public Entity[] npc = new Entity[10];
public Entity[] monster = new Entity[20];
ArrayList<Entity> entityList = new ArrayList<>();
// GAME STATE
@@ -64,7 +65,7 @@ public class GamePanel extends JPanel implements Runnable {
public void setupGame() {
assetSetter.setObject();
assetSetter.setNPC();
//playMusic(0); //Play main theme
assetSetter.setMonster();
gameState = GameState.TITLE;
}
@@ -107,6 +108,7 @@ public class GamePanel extends JPanel implements Runnable {
case PLAY:
player.update();
for(Entity entity : npc) if(entity != null) entity.update();
for(Entity entity : monster) if(entity != null) entity.update();
break;
case PAUSE:
break;
@@ -134,6 +136,7 @@ public class GamePanel extends JPanel implements Runnable {
entityList.add(player);
for(Entity entity : npc) if(entity != null) entityList.add(entity);
for(Entity entity : obj) if(entity != null) entityList.add(entity);
for(Entity entity : monster) if(entity != null) entityList.add(entity);
entityList.sort(Comparator.comparingInt(o -> o.worldY));
for(Entity entity : entityList) entity.draw(graphics2d);
entityList.clear();

View File

@@ -2,6 +2,7 @@ package de.miaurizius.jgame2d.core.handlers;
import de.miaurizius.jgame2d.core.GamePanel;
import de.miaurizius.jgame2d.entity.OldManNPC;
import de.miaurizius.jgame2d.entity.monster.GreenSlimeMON;
import de.miaurizius.jgame2d.entity.objects.DoorObj;
public class AssetSetter {
@@ -14,14 +15,6 @@ public class AssetSetter {
public void setObject() {
panel.obj[0] = new DoorObj(panel);
panel.obj[0].worldX = panel.tileSize*21;
panel.obj[0].worldY = panel.tileSize*22;
panel.obj[1] = new DoorObj(panel);
panel.obj[1].worldX = panel.tileSize*23;
panel.obj[1].worldY = panel.tileSize*25;
}
public void setNPC() {
@@ -30,4 +23,14 @@ public class AssetSetter {
panel.npc[0].worldY = panel.tileSize*21;
}
public void setMonster() {
panel.monster[0] = new GreenSlimeMON(panel);
panel.monster[0].worldX = panel.tileSize*23;
panel.monster[0].worldY = panel.tileSize*36;
panel.monster[1] = new GreenSlimeMON(panel);
panel.monster[1].worldX = panel.tileSize*23;
panel.monster[1].worldY = panel.tileSize*37;
}
}