added monster damage

This commit is contained in:
2025-11-29 01:01:17 +01:00
parent d07077a5f1
commit a215cef7d7
8 changed files with 84 additions and 33 deletions

View File

@@ -31,7 +31,8 @@ public class GamePanel extends JPanel implements Runnable {
public final int maxWorldRow = 50;
//FPS
int FPS = 60;
final int FPS = 60;
int fpsMeasure;
// SYSTEM
public TileManager tileM = new TileManager(this);
@@ -96,7 +97,7 @@ public class GamePanel extends JPanel implements Runnable {
drawCount++;
}
if(timer >= 1000000000) {
System.out.println("FPS: " + drawCount);
fpsMeasure = drawCount;
drawCount = 0;
timer = 0;
}
@@ -150,8 +151,9 @@ public class GamePanel extends JPanel implements Runnable {
if(keyH.checkDrawTime) {
graphics2d.setColor(Color.white);
graphics2d.drawString("Draw Time: " + passed, 10, 400);
System.out.println("Draw Time: " + passed);
Logger.getLogger("DEBUG").log(Level.FINE, "Draw Time: " + passed);
graphics2d.drawString("FPS: " + fpsMeasure, 10, 400+tileSize);
graphics2d.drawString("Invincible: " + player.invincibleCount, 10, 400+tileSize*2);
Boot.logger.log(Level.FINE, "Draw Time: " + passed);
}
// END

View File

@@ -0,0 +1,9 @@
package de.miaurizius.jgame2d.core.enums;
public enum EntityType {
PLAYER,
NPC,
MONSTER,
}

View File

@@ -3,7 +3,6 @@ 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 {
@@ -18,31 +17,31 @@ public class AssetSetter {
}
public void setNPC() {
// panel.npc[0] = new OldManNPC(panel);
// panel.npc[0].worldX = panel.tileSize*21;
// panel.npc[0].worldY = panel.tileSize*21;
panel.npc[0] = new OldManNPC(panel);
panel.npc[0].worldX = panel.tileSize*9;
panel.npc[0].worldY = panel.tileSize*10;
panel.npc[0].worldX = panel.tileSize*21;
panel.npc[0].worldY = panel.tileSize*21;
// panel.npc[0] = new OldManNPC(panel);
// panel.npc[0].worldX = panel.tileSize*9;
// panel.npc[0].worldY = panel.tileSize*10;
}
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;
panel.monster[0] = new GreenSlimeMON(panel);
panel.monster[0].worldX = panel.tileSize*11;
panel.monster[0].worldY = panel.tileSize*10;
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*11;
panel.monster[1].worldY = panel.tileSize*11;
panel.monster[1].worldX = panel.tileSize*23;
panel.monster[1].worldY = panel.tileSize*37;
// panel.monster[0] = new GreenSlimeMON(panel);
// panel.monster[0].worldX = panel.tileSize*11;
// panel.monster[0].worldY = panel.tileSize*10;
//
// panel.monster[1] = new GreenSlimeMON(panel);
// panel.monster[1].worldX = panel.tileSize*11;
// panel.monster[1].worldY = panel.tileSize*11;
}
}

View File

@@ -113,7 +113,8 @@ public class CollisionHandler {
return index;
}
public void checkPlayer(Entity entity) {
public boolean checkPlayer(Entity entity) {
boolean contactPlayer = false;
entity.solidArea.x += entity.worldX;
entity.solidArea.y += entity.worldY;
@@ -122,12 +123,16 @@ public class CollisionHandler {
parseSolidArea(entity);
if (entity.solidArea.intersects(panel.player.solidArea)) entity.collisionOn = true;
if (entity.solidArea.intersects(panel.player.solidArea)) {
entity.collisionOn = true;
contactPlayer = true;
}
entity.solidArea.x = entity.solidAreaDefaultX;
entity.solidArea.y = entity.solidAreaDefaultY;
panel.player.solidArea.x = panel.player.solidAreaDefaultX;
panel.player.solidArea.y = panel.player.solidAreaDefaultY;
return contactPlayer;
}
private void parseSolidArea(Entity entity) {