From d00b7c483408fd7058794d844f10ab7c4f03c100 Mon Sep 17 00:00:00 2001 From: bob Date: Thu, 9 Jun 2022 14:48:21 -0400 Subject: [PATCH 1/2] Added Non Bomb collidable blocks like lava and finish. --- saves/Level1.txt | 6 +++--- src/GenericSprite.java | 5 +++-- src/MapReader.java | 3 ++- src/Player.java | 2 +- src/StickyBomb.java | 13 +++++++++++++ src/Tile.java | 2 ++ 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/saves/Level1.txt b/saves/Level1.txt index e83a9d9..81b724b 100644 --- a/saves/Level1.txt +++ b/saves/Level1.txt @@ -12,7 +12,7 @@ sssssssssssssssssd qwe q sssssssssssssssssd asd asd zxxxxxc zxxxxxxxllllxxxxxxxxc sssssssssssssssssd 1 zxc zxc vvvvvvvvwwwwvvvvvvvvv sssssssssssssssssd qe vvvvvvvvvvvvvvvvvvvvv -sssssssssssssssssd ad qwwwwwwwwe vvvvvvvvvvvvvvvvvvvvv -sssssssssssssssssd ad qrsssssssstwe vvvvvvvvvvvvvvvvvvvvv -sssssssssssssssssd ad qwwrssssssssssstwe !!! qwe vvvvvvvvvvvvvvvvvvvvv + +sssssssssssssssssdlllllad qwwwwwwwwe vvvvvvvvvvvvvvvvvvvvv +sssssssssssssssssdlllllad qrsssslssstwe vvvvvvvvvvvvvvvvvvvvv +sssssssssssssssssdlllllad qwwrssssllssssstwe !!! qwe vvvvvvvvvvvvvvvvvvvvv + ssssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrsssssssssssssssstwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwrstwwwwwwwwwwwwwwwwwwwwwwwwwwwwww3 \ No newline at end of file diff --git a/src/GenericSprite.java b/src/GenericSprite.java index 8a5f9ca..024e9c1 100644 --- a/src/GenericSprite.java +++ b/src/GenericSprite.java @@ -73,7 +73,8 @@ public class GenericSprite extends Rectangle{ } } - private boolean collide(Tile tile, double x, double y){ + public boolean collide(Tile tile, double x, double y){ + if(tile==null){return false;} if(!tile.collision){ return false; } @@ -90,7 +91,7 @@ public class GenericSprite extends Rectangle{ int lowY = Math.max(0,(this.y/Tile.length)-6); int highY = Math.min(lowY + 12, GamePanel.map[0].length); for(int i=lowX; i0&&GamePanel.map[x][y-1]==null) { GamePanel.particleTiles.add(GamePanel.map[x][y]); } diff --git a/src/Player.java b/src/Player.java index 14eca8e..bb5dd8a 100644 --- a/src/Player.java +++ b/src/Player.java @@ -75,7 +75,7 @@ public class Player extends GenericSprite { } } - private boolean collide(Tile tile, double x, double y){ + public boolean collide(Tile tile, double x, double y){ if(tile==null){return false;} if(!tile.collision){ return false; diff --git a/src/StickyBomb.java b/src/StickyBomb.java index ea97d97..0bceee6 100644 --- a/src/StickyBomb.java +++ b/src/StickyBomb.java @@ -35,6 +35,8 @@ public class StickyBomb extends GenericSprite{ erase = false; } + + public void update(){ realX = x - GamePanel.camera.x; } @@ -69,6 +71,17 @@ public class StickyBomb extends GenericSprite{ } } + public boolean collide(Tile tile, double x, double y){ + if(!tile.collision||tile.nonBombCollide){ + return false; + } + if(x+WIDTH>tile.x&&x50){yVelocity=50;} update(); diff --git a/src/Tile.java b/src/Tile.java index c248d87..a1979d5 100644 --- a/src/Tile.java +++ b/src/Tile.java @@ -7,6 +7,7 @@ public class Tile { public boolean collision; + public boolean nonBombCollide; public boolean isFinish; public boolean kills; @@ -18,6 +19,7 @@ public class Tile { kills = false; this.x = x; this.y = y; + nonBombCollide = false; } public void update(){ realX = x-GamePanel.camera.x; From 057e7692f781cb3cc5ea2a1c7748d1771962a2d0 Mon Sep 17 00:00:00 2001 From: bob Date: Thu, 9 Jun 2022 14:53:03 -0400 Subject: [PATCH 2/2] Fixed bug that lava doesnt kill --- src/MapReader.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MapReader.java b/src/MapReader.java index e38dbd6..97c4284 100644 --- a/src/MapReader.java +++ b/src/MapReader.java @@ -92,6 +92,7 @@ public class MapReader { } else if(file.charAt(i)=='l'){ newTile("img/tiles/terrain/lava.png"); GamePanel.map[x][y].nonBombCollide = true; + GamePanel.map[x][y].kills = true; if(y>0&&GamePanel.map[x][y-1]==null) { GamePanel.particleTiles.add(GamePanel.map[x][y]); }