From d00b7c483408fd7058794d844f10ab7c4f03c100 Mon Sep 17 00:00:00 2001 From: bob Date: Thu, 9 Jun 2022 14:48:21 -0400 Subject: [PATCH] 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;