From af8c5ce8540782ade830db03598b42c9870bd32d Mon Sep 17 00:00:00 2001 From: Joshua Sigona Date: Tue, 21 Sep 2021 21:03:07 +0900 Subject: [PATCH] Refactored block landing functions --- Meteo_Engine.jar | Bin 8600 -> 9745 bytes src/sig/BlockClump.java | 7 +++--- src/sig/BlockClumpState.java | 5 +++++ src/sig/Board.java | 40 +++++++++++++++++------------------ src/sig/Meteo.java | 2 +- 5 files changed, 29 insertions(+), 25 deletions(-) create mode 100644 src/sig/BlockClumpState.java diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index b496c05e00750c4e93ca540918ac8888d725f6a3..e4c7433c877b43d92357bf8ccced2761e07ae688 100644 GIT binary patch literal 9745 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 blockList, double x, double y, double startspd, int width) { this.blocks = new ArrayList(); this.blocks.addAll(blockList); @@ -25,7 +27,6 @@ public class BlockClump { this.x=x; this.y=y; this.yspd=startspd; - System.out.println(Arrays.deepToString(collisionColumnRanges)); } public void updateBlockCollision() { //Call this whenever the block structure changes. This will define what the top and bottom positions diff --git a/src/sig/BlockClumpState.java b/src/sig/BlockClumpState.java new file mode 100644 index 0000000..c260642 --- /dev/null +++ b/src/sig/BlockClumpState.java @@ -0,0 +1,5 @@ +package sig; + +public enum BlockClumpState { + +} diff --git a/src/sig/Board.java b/src/sig/Board.java index fd3abd0..5544a28 100644 --- a/src/sig/Board.java +++ b/src/sig/Board.java @@ -58,47 +58,45 @@ public class Board { if (frames%100==0) { blockData.add(new BlockClump(Arrays.asList(new Block((int)(Math.random()*width),0)),0,590,0,width)); } - + + outerloop: for (BlockClump blocks : blockData) { double FUTURE_FALL_POSITION = blocks.y+blocks.yspd+gravity; - boolean landed=false; - outerloop: for (int x=0;xblocks2.y+(blocks2.collisionColumnRanges[x][0]+1)*block_height) { - blocks.yspd=0; - blocks.y=blocks2.y+(blocks2.collisionColumnRanges[x][0]+1)*block_height; - landed=true; - break outerloop; + HandleBlockLand(blocks, x, blocks2.y+(blocks2.collisionColumnRanges[x][0]+1)*block_height); + continue outerloop; } } else { if (FUTURE_FALL_POSITION+blocks.collisionColumnRanges[x][0]*block_height0) { - blocks.yspd=Math.max(blocks.yspd+gravity,max_fall_spd); - blocks.y+=blocks.yspd; - } else { - //We have hit the bottom. - blocks.yspd=0; - blocks.y=0; - } - } + if (FUTURE_FALL_POSITION>0) { + blocks.yspd=Math.max(blocks.yspd+gravity,max_fall_spd); + blocks.y+=blocks.yspd; + } else { + //We have hit the bottom. + blocks.yspd=0; + blocks.y=0; + } //System.out.println(blocks.y); } } + private void HandleBlockLand(BlockClump blocks, int x, double yset) { + blocks.yspd=0; + blocks.y=yset; + + } public void drawBoard(Graphics g) { final int DRAW_STARTX = (int)(x - block_width*((double)width/2)); final int DRAW_STARTY = (int)(y + block_height*((double)height/2)); diff --git a/src/sig/Meteo.java b/src/sig/Meteo.java index b0403ba..3d7946b 100644 --- a/src/sig/Meteo.java +++ b/src/sig/Meteo.java @@ -18,7 +18,7 @@ public class Meteo { b.run(FRAMECOUNT); } - public static void main(String[] args) { + public static void main(String[] args) { double[] val = {0,0,}; b = new Board(SCREEN_WIDTH/2,SCREEN_HEIGHT/2,24,24,8,14,-0.065,1,4,-2,val);