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 79fd84cbd08c260c68a07f5ad1fdd948c2b74e41..008e1ecc50a8598b5b41cd60e9125a9f50ed19a5 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 97e4a532f79a438c4ab0778f93f33737c81dde67..b55bde72868e1a826d4f5b16a15cae0d517697b1 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 36fa8143770bd5d59fccb933f2c4261063de620c..70dc4e047151f9ab678358baf12aa1b17fff0098 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 49430df1ee6e5489c1a4c3ef4d52f8e70707bd27..89ed0203c17e1cd80fa2787ad0e36eff0f5dbda4 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); } } }