private void destroyTilesInRange(Tile tile, int dx, int dy) {
		int xCenter = tile.getX() + tile.getWidth() / 2;
		int yCenter = tile.getY() + tile.getHeight() / 2;
		int dimension = 57;
		explosions.add(new Explosion(xCenter - dimension, yCenter - dimension, dimension * 2,
				dimension * 2, new Animation(ImageLoader.loadSpriteSheet(
						"explosions/tntexplosion.png", dimension, dimension), 40)));
		/* Remove exploited tiles */
		tile.setTileType(TileType.EMPTY);
		tileDestroyed(tile);
		Tile[][] map = tileMap.getMap();
		int xExplosion = tile.getX() / tile.getWidth();
		int yExplosion = tile.getY() / tile.getHeight();
		for (int x = xExplosion - dx; x <= xExplosion + dx; x++) {
			for (int y = yExplosion - dy; y <= yExplosion + dy; y++) {
				if (x < 0 || x >= map.length || y < 0 || y >= map[x].length) {
					continue;
				}
				Tile t = map[x][y];
				if (t.getTileType() == TileType.UNBREAKABLE) {
					continue;
				}
				if (t.getTileType() == TileType.TNT) {
					destroyTilesInRange(t, dx, dy);
				}
				t.setTileType(TileType.EMPTY);
			}
		}
	}