diff --git a/InvisibleTile.class b/InvisibleTile.class new file mode 100644 index 0000000..ccac479 Binary files /dev/null and b/InvisibleTile.class differ diff --git a/InvisibleTile.java b/InvisibleTile.java new file mode 100644 index 0000000..05c0676 --- /dev/null +++ b/InvisibleTile.java @@ -0,0 +1,13 @@ +import java.awt.Graphics; +import javax.swing.ImageIcon; + +public class InvisibleTile extends Tile { + public InvisibleTile(int x, int y, int w, int h) { + super(x, y, w, h, new ImageIcon("Sprites/Bricks/Brick.png")); + } + + @Override + public void draw(Graphics g) { + // draw nothing + } +} diff --git a/LevelLoader.class b/LevelLoader.class index 146be3a..24a5d36 100644 Binary files a/LevelLoader.class and b/LevelLoader.class differ diff --git a/LevelLoader.java b/LevelLoader.java index 2c5a9d3..7f12511 100644 --- a/LevelLoader.java +++ b/LevelLoader.java @@ -18,7 +18,7 @@ public class LevelLoader { collectables.clear(); enemies.clear(); - /*left wall*/ collidables.add(new Brick(-20, 0, 20, 2000)); + /* left wall */ collidables.add(new Brick(-20, 0, 20, 2000)); BufferedReader br = new BufferedReader(new FileReader("Levels/level" + level + ".txt")); String line; @@ -50,6 +50,9 @@ public class LevelLoader { case 'E': enemies.add(new Enemy(x, y, enemyWidth[level], enemyHeight[level], level)); break; + case 'X': + collidables.add(new InvisibleTile(x, y, tileSize, tileSize)); + break; } } row++; diff --git a/Levels/level7.txt b/Levels/level7.txt index 4b93c78..a8af13d 100644 --- a/Levels/level7.txt +++ b/Levels/level7.txt @@ -9,12 +9,12 @@ .................................................................................................................. .................................................................................................................. .................................................................................................................. -.................................................................................................................. -.................................................................................................................. -.................................................................................................................. -.................................................................................................................. -.................................................................................................................. -..P............................................................................................................... -.................................................................................................................. -.................................................................................................................. +..............................................................A...........................................................E +...........................................................BBBBBBBBB.......................A...........................EBBBBBBBBB... +........................................................................................BBBBBBB.....................E.BBBBBBBBBBB... +...................................................................................................................EBBBBBBBBBBBBB +............................................................................E...................................E.BBBBBBBBBBBBBBB +..P........................Q..................EEE.........................BBBBBBB...............................BBBBBBBBBBBBBBBBB.........F +..........................................BBBBBBBBBBBB..................................................BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...................... +........E........A......BBBBBBBBB.......................................................................................... BBBBBBBBBB.....BBBBBB............................................................................................................. diff --git a/Platformer.class b/Platformer.class index 3a27b69..3378ccb 100644 Binary files a/Platformer.class and b/Platformer.class differ diff --git a/Platformer.java b/Platformer.java index 83e355e..9d6e2fd 100644 --- a/Platformer.java +++ b/Platformer.java @@ -355,6 +355,17 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { this.setBackground(SKY); } + if (currentLevel == 8) { + // draw black overlay over entire world + g.setColor(new Color(0, 0, 0, 255)); + g.fillRect(cameraX, cameraY, boardWidth, boardHeight); + // cut out a circle around the player + Graphics2D g2 = (Graphics2D) g; + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR)); + g2.fillOval(player.x - 60, player.y - 60, 120, 120); + g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER)); + } + g.translate(-cameraX, -cameraY); player.draw(g);