From 9cbc5acf2eefae6b910120a8eccc3dcbd864c57c Mon Sep 17 00:00:00 2001 From: yschl <ys037@hdm-stuttgart.de> Date: Wed, 17 Jan 2024 00:09:42 +0100 Subject: [PATCH] IEntity.java & GameSceneController.java & NetworkPlayerTwo.java: Add: second Identity for placeBomb Method Player.java: Add: Logic Comments for future Fixes and Added second Identity coordinates --- .../Controller/GameSceneController.java | 4 ++-- .../battlearena/Model/Entity/IEntity.java | 2 +- .../battlearena/Model/Entity/NetworkPlayerTwo.java | 2 +- .../battlearena/Model/Entity/Player.java | 14 +++++++++++--- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java index 79fd84cb..008e1ecc 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java @@ -109,8 +109,8 @@ public class GameSceneController implements Initializable { enemy.attack(player, graphicsContext2D); player.checkHealTile(player, graphicsContext2D); enemy.checkHealTile(enemy, graphicsContext2D); - player.placeBomb(player, graphicsContext2D); - enemy.placeBomb(enemy, graphicsContext2D); + player.placeBomb(player, enemy, graphicsContext2D); + enemy.placeBomb(enemy, player, graphicsContext2D); } private void renderContent(GraphicsContext graphicsContext) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/IEntity.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/IEntity.java index 97e4a532..b55bde72 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/IEntity.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/IEntity.java @@ -14,7 +14,7 @@ public interface IEntity { void checkHealTile(IEntity entity, GraphicsContext graphicsContext); - void placeBomb(IEntity entity, GraphicsContext graphicsContext); + void placeBomb(IEntity entity, IEntity entity2, GraphicsContext graphicsContext); void attack(IEntity entity, GraphicsContext graphicsContext); diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/NetworkPlayerTwo.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/NetworkPlayerTwo.java index 36fa8143..70dc4e04 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/NetworkPlayerTwo.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/NetworkPlayerTwo.java @@ -42,7 +42,7 @@ class NetworkPlayerTwo implements IEntity{ } @Override - public void placeBomb(IEntity entity, GraphicsContext graphicsContext) { + public void placeBomb(IEntity entity, IEntity entity2, GraphicsContext graphicsContext) { } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java index 49430df1..89ed0203 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java @@ -292,31 +292,39 @@ class Player implements IEntity { } @Override - public void placeBomb(IEntity entity, GraphicsContext graphicsContext){ + public void placeBomb(IEntity entity, IEntity entity2, GraphicsContext graphicsContext){ boolean isDestructible; int xTile = entity.getMapPosX() / gameSceneController.getScaledTileSize(); int yTile = entity.getMapPosY() / gameSceneController.getScaledTileSize(); + int xTile2 = entity2.getMapPosX() / gameSceneController.getScaledTileSize(); + int yTile2 = entity2.getMapPosY() / gameSceneController.getScaledTileSize(); if(inputHandler.isBomb() && PLAYER_MODE == PlayerMode.PLAYER_ONE || inputHandler.isSdBomb() && PLAYER_MODE == PlayerMode.PLAYER_TWO) { isDestructible = checkTileNon_Destructible(yTile, xTile); if(isDestructible){ TileManager.tileMap[yTile][xTile] = 7; for (int i=0;i<3; i++){ - isDestructible = checkTileNon_Destructible(yTile +1 +i, xTile); - if(isDestructible && (yTile < 18 && xTile <18)){ + isDestructible = checkTileNon_Destructible(yTile +1 +i, xTile); //If Tile solid , -> should stop comparing, + if(isDestructible && (yTile < 18 && xTile <18)){ //because for now, Tile behind gets destroyed aswell TileManager.tileMap[yTile +1 + i][xTile] = 8; + /*if(entity || entity2) { + entity2.gotHit(2); //See if enemy or player hit + }*/ } isDestructible = checkTileNon_Destructible(yTile -1 -i, xTile); if(isDestructible && (yTile < 18 && xTile <18)){ TileManager.tileMap[yTile -1 -i][xTile] = 8; + entity.gotHit(2); } isDestructible = checkTileNon_Destructible(yTile , xTile +1 +i); if(isDestructible && (yTile < 18 && xTile <18)){ TileManager.tileMap[yTile][xTile +1 +i] = 8; + entity.gotHit(2); } isDestructible = checkTileNon_Destructible(yTile, xTile -1 -i); if(isDestructible && (yTile < 18 && xTile <18)){ TileManager.tileMap[yTile][xTile -1 -i] = 8; + entity.gotHit(2); } } } -- GitLab