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 dc9b88e85c746bab7c651e5a6baae246eb4b94c4..f0e697c0d2b16d0e51ec9754ea8d3111f6800328 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/GameSceneController.java
@@ -55,7 +55,7 @@ public class GameSceneController implements Initializable {
                         "4 1 1 1 2 2 4 1 3 3 3 1 1 1 3 2 2 3 " +
                         "4 1 1 1 2 2 4 1 1 1 1 1 1 1 3 2 1 3 " +
                         "4 1 5 1 2 2 4 3 3 1 4 3 3 3 3 2 1 3 " +
-                        "4 1 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 3 " +
+                        "4 6 1 1 1 1 1 2 2 2 1 1 1 1 1 1 1 3 " +
                         "4 1 1 1 2 2 4 3 3 1 3 3 3 3 3 2 1 3 " +
                         "4 1 1 1 1 2 4 3 3 1 3 3 3 3 3 1 1 3 " +
                         "4 1 1 1 1 2 4 3 3 1 3 3 3 3 3 2 2 3 " +
@@ -67,7 +67,7 @@ public class GameSceneController implements Initializable {
                         "4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3";
     int horizontalTileCount = 18;
     int verticalTileCount = 18;
-    int diffTileCount = 6;
+    int diffTileCount = 8;
     int scaledTileSize = 48;
 
 
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 0eaf4b2ca5c23f540e284e5ef6e80bf1be36037f..f358c976dcc43631f647c5f0d7c64859e7830323 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
@@ -5,6 +5,7 @@ import de.hdm_stuttgart.battlearena.Controller.GameSceneController;
 import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler;
 
 import de.hdm_stuttgart.battlearena.Model.Map.TileManager;
+import javafx.animation.AnimationTimer;
 import javafx.geometry.BoundingBox;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.image.Image;
@@ -290,19 +291,30 @@ class Player implements IEntity {
         }
     }
 
+
+    public void placeBomb(IEntity entity, GraphicsContext graphicsContext){
+        int xTile = entity.getMapPosX() / gameSceneController.getScaledTileSize();
+        int yTile = entity.getMapPosY() / gameSceneController.getScaledTileSize();
+        if(inputHandler.isBomb() || inputHandler.isSdBomb()){
+            TileManager.tileMap[yTile][xTile] = 7;
+            TileManager.tileMap[yTile-1][xTile] = 8;
+            TileManager.tileMap[yTile-2][xTile] = 8;
+            TileManager.tileMap[yTile][xTile+1] = 8;
+            TileManager.tileMap[yTile][xTile+2] = 8;
+        }
+    }
+
+
     @Override
     public void attack(IEntity entity, GraphicsContext graphicsContext) {
         BoundingBox hitBox;
 
         int xTile = mapPosX / gameSceneController.getScaledTileSize();
         int yTile = mapPosY / gameSceneController.getScaledTileSize();
-        //log.info(xTile);
-        //log.info(yTile);
         //int xTile = (int) (Math.random() * (18 - 1));   //Get xTile Coordinate +1 /-1 of playerTile
         //int yTile = (int) (Math.random() * (18 - 1));   //Get yTile Coordinate +1 /-1 of playerTile
         double dropChance = 0.5;
         double randomDropChance = Math.random() * 1;
-        //log.info(randomDropChance);
 
         //Added and subtracted numbers from variables are the pixel insets of the player sprite
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java
index a66f47e852aac620010f786bbff62a0700292535..934bdce8b04b5d34f13626345479284d139e9b06 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Inputs/InputHandler.java
@@ -19,10 +19,10 @@ public class InputHandler {
     }
 
     //Local Player/Player one controls
-    private boolean moveUp, moveDown, moveLeft, moveRight, attack;
+    private boolean moveUp, moveDown, moveLeft, moveRight, attack, bomb;
 
     //Local player two controls
-    private boolean sdMoveUp, sdMoveDown, sdMoveLeft, sdMoveRight, sdAttack;
+    private boolean sdMoveUp, sdMoveDown, sdMoveLeft, sdMoveRight, sdAttack, sdbomb;
 
     public void handleKeyPress(KeyEvent event) {
         KeyCode code = event.getCode();
@@ -48,6 +48,9 @@ public class InputHandler {
                 attack = true;
                 log.debug("Player attack");
                 break;
+            case Q:
+                bomb = true;
+                break;
             case UP:
                 sdMoveUp = true;
                 break;
@@ -63,6 +66,9 @@ public class InputHandler {
             case MINUS:
                 sdAttack = true;
                 break;
+            case CONTROL:
+                sdbomb = true;
+                break;
         }
     }
 
@@ -85,6 +91,9 @@ public class InputHandler {
             case E:
                 attack = false;
                 break;
+            case Q:
+                bomb = false;
+                break;
             case UP:
                 sdMoveUp = false;
                 break;
@@ -100,6 +109,9 @@ public class InputHandler {
             case MINUS:
                 sdAttack = false;
                 break;
+            case CONTROL:
+                sdbomb = false;
+                break;
         }
     }
 
@@ -142,4 +154,7 @@ public class InputHandler {
     public boolean isSdAttack() {
         return sdAttack;
     }
+    public boolean isBomb(){return bomb;}
+    public boolean isSdBomb(){return sdbomb;}
+
 }
\ No newline at end of file
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileFactory.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileFactory.java
index 0da1a1558d0e6888a73fa456d3dd81f021d936fc..24dc7d78e70a57b79370cf76275ac591e44d0332 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileFactory.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileFactory.java
@@ -9,18 +9,18 @@ public class TileFactory {
 
     private static final Logger log = LogManager.getLogger(TileFactory.class);
 
-    public static ITile createTile(TileType tileType, TileType tileType2, Image tileSprite) {
-        if (tileType == TileType.WALKABLE && tileType2 == TileType.DESTRUCTIBLE) {
-            log.info("Tile with type: " + tileType + " " + tileType2 + " created.");
+    public static ITile createTile(TileType tileType, TileType destructible, Image tileSprite) {
+        if (tileType == TileType.WALKABLE && destructible == TileType.DESTRUCTIBLE) {
+            log.info("Tile with type: " + tileType + " " + destructible + " created.");
             return new BackgroundTile(tileSprite, true, true);
-        }else if (tileType == TileType.WALKABLE && tileType2 == TileType.NON_DESTRUCTIBLE) {
-            log.info("Tile with type: " + tileType + " " + tileType2 +" created.");
+        }else if (tileType == TileType.WALKABLE && destructible == TileType.NON_DESTRUCTIBLE) {
+            log.info("Tile with type: " + tileType + " " + destructible +" created.");
             return new BackgroundTile(tileSprite, true, false);
-        }else if (tileType == TileType.NON_WALKABLE && tileType2 == TileType.DESTRUCTIBLE) {
-            log.info("Tile with type: " + tileType + " " + tileType2 +" created.");
+        }else if (tileType == TileType.NON_WALKABLE && destructible == TileType.DESTRUCTIBLE) {
+            log.info("Tile with type: " + tileType + " " + destructible +" created.");
             return new BackgroundTile(tileSprite, false, true);
-        }else if (tileType == TileType.NON_WALKABLE && tileType2 == TileType.NON_DESTRUCTIBLE) {
-            log.info("Tile with type: " + tileType + " " + tileType2 +" created.");
+        }else if (tileType == TileType.NON_WALKABLE && destructible == TileType.NON_DESTRUCTIBLE) {
+            log.info("Tile with type: " + tileType + " " + destructible +" created.");
             return new BackgroundTile(tileSprite, false, false);
         }
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java
index 0ac687dab223e1933fe99bbf42db3dfd3ed8b8b5..8c66d48b7c49649403f3decc6bb6712712fdba80 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Map/TileManager.java
@@ -46,6 +46,12 @@ public class TileManager {
                     new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/Stone02.png"))));
             tileSet[5] = TileFactory.createTile(TileType.WALKABLE,TileType.NON_DESTRUCTIBLE,
                     new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/finalheart.png"))));
+            tileSet[6] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/bomba.png"))));
+            tileSet[7] = TileFactory.createTile(TileType.NON_WALKABLE,TileType.NON_DESTRUCTIBLE,
+                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/bigbomba.png"))));
+            tileSet[8] = TileFactory.createTile(TileType.WALKABLE,TileType.NON_DESTRUCTIBLE,
+                    new Image(Objects.requireNonNull(getClass().getResourceAsStream("/textures/map/middleexplosion.png"))));
         } catch (Exception e) {
             log.error(e);
         }
diff --git a/src/main/resources/textures/map/bigbomba.png b/src/main/resources/textures/map/bigbomba.png
new file mode 100644
index 0000000000000000000000000000000000000000..397890b30b50d8f6db539981082f099e4299f8c3
Binary files /dev/null and b/src/main/resources/textures/map/bigbomba.png differ
diff --git a/src/main/resources/textures/map/bigexplosion.png b/src/main/resources/textures/map/bigexplosion.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2d390c838dc644ecd40b469517d01c76b1b6586
Binary files /dev/null and b/src/main/resources/textures/map/bigexplosion.png differ
diff --git a/src/main/resources/textures/map/bomb.png b/src/main/resources/textures/map/bomb.png
new file mode 100644
index 0000000000000000000000000000000000000000..6f29b3f6124a917afe8492f2e318d15dd93ff7c7
Binary files /dev/null and b/src/main/resources/textures/map/bomb.png differ
diff --git a/src/main/resources/textures/map/bomba.png b/src/main/resources/textures/map/bomba.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ab018d7f6f8c7372251cbe996f84ad5b6f2066e
Binary files /dev/null and b/src/main/resources/textures/map/bomba.png differ
diff --git a/src/main/resources/textures/map/middlexplosion.png b/src/main/resources/textures/map/middlexplosion.png
new file mode 100644
index 0000000000000000000000000000000000000000..843dbf6549a384cf54b32445326531920fc40391
Binary files /dev/null and b/src/main/resources/textures/map/middlexplosion.png differ
diff --git a/src/main/resources/textures/map/smallexplosion.png b/src/main/resources/textures/map/smallexplosion.png
new file mode 100644
index 0000000000000000000000000000000000000000..9101661a8083d755d5a43b32ef1e7ec2d62901bd
Binary files /dev/null and b/src/main/resources/textures/map/smallexplosion.png differ