diff --git a/img/misc/flame/flameDown.png b/img/misc/flame/flameDown.png new file mode 100644 index 0000000..860d6c9 Binary files /dev/null and b/img/misc/flame/flameDown.png differ diff --git a/img/misc/flame/flameRight.png b/img/misc/flame/flameRight.png new file mode 100644 index 0000000..c99bb88 Binary files /dev/null and b/img/misc/flame/flameRight.png differ diff --git a/img/misc/flame/flameUp.png b/img/misc/flame/flameUp.png new file mode 100644 index 0000000..5a52b01 Binary files /dev/null and b/img/misc/flame/flameUp.png differ diff --git a/img/tiles/boxes/boxShootDown.png b/img/tiles/boxes/boxShootDown.png new file mode 100644 index 0000000..3e20119 Binary files /dev/null and b/img/tiles/boxes/boxShootDown.png differ diff --git a/img/tiles/boxes/boxShootLeft.png b/img/tiles/boxes/boxShootLeft.png new file mode 100644 index 0000000..0980ff1 Binary files /dev/null and b/img/tiles/boxes/boxShootLeft.png differ diff --git a/img/tiles/boxes/boxShootRight.png b/img/tiles/boxes/boxShootRight.png new file mode 100644 index 0000000..cd3d9e1 Binary files /dev/null and b/img/tiles/boxes/boxShootRight.png differ diff --git a/img/tiles/boxes/boxExplosive.png b/img/tiles/boxes/boxShootUp.png similarity index 100% rename from img/tiles/boxes/boxExplosive.png rename to img/tiles/boxes/boxShootUp.png diff --git a/saves/Level1.txt b/saves/Level1.txt index da9ae01..f7ee114 100644 --- a/saves/Level1.txt +++ b/saves/Level1.txt @@ -7,12 +7,12 @@ sssssssssssssssssd 1 1lllllllll1 1 1 sssssssssssssssssd 1 sssssssssssssssssd qe qe - qwe ad ! ad qre - a d qwe qwe atwwwrd qwwwwwwellllqwwwwwwwe ad -sssssssssssssssssd zxc asd asd zxxxxxc zxxxxxxxllllxxxxxxxxc ad + u qwe ad ! ad qre + h k a d qwe qwe atwwwrd qwwwwwwellllqwwwwwwwe ad +sssssssssssssssssd m zxc asd asd zxxxxxc zxxxxxxxllllxxxxxxxxc ad sssssssssssssssssd 1 zxc zxc vvvvvvvvwwwwvvvvvvvvv ad sssssssssssssssssd qe vvvvvvvvvvvvvvvvvvvvv ad sssssssssssssssssdlllllad 2 qwwwwwwwwe vvvvvvvvvvvvvvvvvvvvv ad sssssssssssssssssdlllllad bbb s qrsssslssstwe vvvvvvvvvvvvvvvvvvvvv ad -sssssssssssssssssdllllladbb s ooqwwrssssllssssstwe ! b h !!! qwe vvvvvvvvvvvvvvvvvvvvv + ad +sssssssssssssssssdllllladbb s ooqwwrssssllssssstwe ! b h !!! qwek vvvvvvvvvvvvvvvvvvvvv + ad ssssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrsssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww3 \ No newline at end of file diff --git a/src/FireBall.java b/src/FireBall.java index f40b0bd..4ff74f2 100644 --- a/src/FireBall.java +++ b/src/FireBall.java @@ -7,14 +7,19 @@ public class FireBall extends GenericSprite{ public boolean dead; - public static final int height = 8; - public static final int width = 16; - public FireBall(int x, int y, int xv, int yv, String dir) { + + public FireBall(int x, int y, int xv, int yv, String dir,int height, int width) { super(x, y, height, width); xVelocity = xv; yVelocity = yv; if(dir.equals("left")){ spritePath = "img/misc/flame/flameLeft.png"; + } else if(dir.equals("right")){ + spritePath = "img/misc/flame/flameRight.png"; + } else if(dir.equals("up")){ + spritePath = "img/misc/flame/flameUp.png"; + } else if(dir.equals("down")){ + spritePath = "img/misc/flame/flameDown.png"; } realX = 0; dead = false; @@ -42,6 +47,9 @@ public class FireBall extends GenericSprite{ dead = true; GameFrame.game.player.reset(); } +// if(y<0||y>GameFrame.game.HEIGHT){ +// dead = true; +// } } public void draw(Graphics g) throws IOException { g.drawImage(GamePanel.getImage(spritePath),x-GameFrame.game.camera.x,y,null); diff --git a/src/GamePanel.java b/src/GamePanel.java index 633344b..747024b 100644 --- a/src/GamePanel.java +++ b/src/GamePanel.java @@ -180,7 +180,13 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ if (mouseAlreadyTranslated) { mouseAlreadyTranslated = false; } else if (!isDialogue && !isPaused) { - player.mouseReleased(e); + try { + player.mouseReleased(e); + } catch (IOException ex) { + throw new RuntimeException(ex); + } catch (SpriteException ex) { + throw new RuntimeException(ex); + } } } @@ -189,7 +195,13 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ }); addMouseMotionListener(new MouseAdapter() { public void mouseDragged(MouseEvent e) { - player.mouseDragged(e); + try { + player.mouseDragged(e); + } catch (IOException ex) { + throw new RuntimeException(ex); + } catch (SpriteException ex) { + throw new RuntimeException(ex); + } } public void mouseMoved(MouseEvent e) { player.mouseMoved(e); @@ -467,7 +479,13 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ public void updateShootingBlock(){ for(Tile i: shootingTiles){ if(i.shootingDir.equals("left")){ - fireballs.add(new FireBall(i.x-20,i.y+Tile.length/2-FireBall.height/2,-fireballSpeed,0,"left")); + fireballs.add(new FireBall(i.x-20,i.y+Tile.length/2-4,-fireballSpeed,0,"left",8,16)); + } else if(i.shootingDir.equals("up")){ + fireballs.add(new FireBall(i.x+Tile.length/2,i.y-20,0,-fireballSpeed,"up",16,8)); + } else if(i.shootingDir.equals("right")){ + fireballs.add(new FireBall(i.x+Tile.length+20,i.y+Tile.length/2-4,fireballSpeed,0,"right",8,16)); + } else if(i.shootingDir.equals("down")){ + fireballs.add(new FireBall(i.x+Tile.length/2,i.y+Tile.length+10,0,fireballSpeed,"down",16,8)); } } } diff --git a/src/GenericSprite.java b/src/GenericSprite.java index bb611ba..0c92354 100644 --- a/src/GenericSprite.java +++ b/src/GenericSprite.java @@ -54,7 +54,7 @@ public class GenericSprite extends Rectangle implements Serializable { } - public void mouseReleased(MouseEvent e) { + public void mouseReleased(MouseEvent e) throws IOException, SpriteException { } public void move() throws IOException { diff --git a/src/LevelManager.java b/src/LevelManager.java index 688af19..da59017 100644 --- a/src/LevelManager.java +++ b/src/LevelManager.java @@ -16,6 +16,7 @@ public class LevelManager implements Serializable { public static int bombs; public static void setLevel(int level){ GameFrame.game.bombs.clear(); + GameFrame.game.fireballs.clear(); GameFrame.game.player.yVelocity = 0; GameFrame.game.player.xVelocity = 0; LevelManager.level = level; diff --git a/src/MapReader.java b/src/MapReader.java index 6107da2..25bfc21 100644 --- a/src/MapReader.java +++ b/src/MapReader.java @@ -31,6 +31,7 @@ public class MapReader implements Serializable { GameFrame.game.enemy.clear(); GameFrame.game.particleTiles.clear(); GameFrame.game.shootingTiles.clear(); + GameFrame.game.fireballs.clear(); for(int i=0; i