diff --git a/img/tiles/background/wall.png b/img/tiles/background/wall.png new file mode 100644 index 0000000..4134727 Binary files /dev/null and b/img/tiles/background/wall.png differ diff --git a/img/tiles/terrain/lava.png b/img/tiles/terrain/lava.png new file mode 100644 index 0000000..c23d440 Binary files /dev/null and b/img/tiles/terrain/lava.png differ diff --git a/saves/Level1.txt b/saves/Level1.txt index e452e8f..d4ccded 100644 --- a/saves/Level1.txt +++ b/saves/Level1.txt @@ -4,15 +4,15 @@ sssssssssssssssssd 1 sssssssssssssssssd sssssssssssssssssd sssssssssssssssssd 1 1 1 1 1 -sssssssssssssssssd w 1 -sssssssssssssssssd w -sssssssssssssssssd w qe qe -sssssssssssssssssd w ad ! ad -sssssssssssssssssd w qwe qwe atwwwrd -sssssssssssssssssd w asd asd zxxxxxc -sssssssssssssssssd w 1 zxc zxc -sssssssssssssssssd qe -sssssssssssssssssd ad qwwwwwwwwe -sssssssssssssssssd ad qrsssssssstwe -sssssssssssssssssd ad qwwrssssssssssstwe !!! qwe + -ssssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrsssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrstwwwwww3 \ No newline at end of file +sssssssssssssssssd 1 +sssssssssssssssssd +sssssssssssssssssd qe qe +sssssssssssssssssd ad ! ad +sssssssssssssssssd qwe qwe atwwwrd qwwwwwwellllqwwwwwwwe +sssssssssssssssssd asd asd zxxxxxc zxxxxxxxwwwwxxxxxxxxc +sssssssssssssssssd 1 zxc zxc vvvvvvvvvvvvvvvvvvvvv +sssssssssssssssssd qe vvvvvvvvvvvvvvvvvvvvv +sssssssssssssssssd ad qwwwwwwwwe vvvvvvvvvvvvvvvvvvvvv +sssssssssssssssssd ad qrsssssssstwe vvvvvvvvvvvvvvvvvvvvv +sssssssssssssssssd ad qwwrssssssssssstwe !!! qwe vvvvvvvvvvvvvvvvvvvvv + +ssssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrsssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrstwwwwwwwwwwwwwwwwwwwwwwwwwwwwww3 \ No newline at end of file diff --git a/src/MapReader.java b/src/MapReader.java index 6da07d0..f96a7db 100644 --- a/src/MapReader.java +++ b/src/MapReader.java @@ -20,6 +20,7 @@ public class MapReader { asd zxc !: Slime + v= background Grass: */ @@ -83,6 +84,12 @@ public class MapReader { } else if(file.charAt(i)=='+') { newTile("img/tiles/boxes/finish.png"); GamePanel.map[x][y].isFinish = true; + } else if(file.charAt(i)=='v'){ + newTile("img/tiles/background/wall.png"); + GamePanel.map[x][y].collision = false; + } else if(file.charAt(i)=='l'){ + newTile("img/tiles/terrain/lava.png"); + GamePanel.map[x][y].kills = true; } x+=1; } diff --git a/src/Player.java b/src/Player.java index 72568e2..df07202 100644 --- a/src/Player.java +++ b/src/Player.java @@ -101,6 +101,10 @@ public class Player extends GenericSprite { LevelManager.nextLevel(); return true; } + if (GamePanel.map[i][j].kills) { + GamePanel.player.reset(); + return true; + } canUpdate = false; break; } diff --git a/src/StickyBomb.java b/src/StickyBomb.java index 610abbb..c0bc520 100644 --- a/src/StickyBomb.java +++ b/src/StickyBomb.java @@ -31,14 +31,14 @@ public class StickyBomb extends GenericSprite{ } public void explode(){ - double yDis = GamePanel.player.y+Player.PLAYER_HEIGHT/2-(y+length/2); - double xDis = GamePanel.player.x+Player.PLAYER_HEIGHT/2-(realX+length/2); + double yDis = GamePanel.player.y+Player.PLAYER_HEIGHT/2-(y+(double)length/2); + double xDis = GamePanel.player.x+Player.PLAYER_HEIGHT/2-(realX+(double)length/2); double hypo = Math.sqrt(yDis*yDis+xDis+xDis); if(yDis!=0){ - GamePanel.player.yVelocity = 10000/(yDis*hypo); + GamePanel.player.yVelocity += 10000/(yDis*hypo); } if(xDis!=0) { - GamePanel.player.xVelocity = 100000/(xDis*hypo); + GamePanel.player.xVelocity += 100000/(xDis*hypo); } GamePanel.player.capSpeed(); alive = false; diff --git a/src/Tile.java b/src/Tile.java index 200d3d4..c248d87 100644 --- a/src/Tile.java +++ b/src/Tile.java @@ -8,11 +8,14 @@ public class Tile { public boolean collision; public boolean isFinish; + + public boolean kills; public int realX; public static final int length = 35; public Tile(int x, int y){ isFinish = false; collision = true; + kills = false; this.x = x; this.y = y; }