From dbb8a0f88dc4327ec5dd08fefc4edaeeb2ee4c65 Mon Sep 17 00:00:00 2001 From: Joshua Sigona Date: Tue, 21 Sep 2021 21:37:07 +0900 Subject: [PATCH] Split block clumps into vertical sections after launch delay expires. --- Meteo_Engine.jar | Bin 9745 -> 10541 bytes src/sig/BlockClump.java | 7 +++++-- src/sig/Board.java | 33 ++++++++++++++++++++++++++++++--- src/sig/Meteo.java | 5 ++++- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index e4c7433c877b43d92357bf8ccced2761e07ae688..da32060f189877d0ac6a3dbf135e9f0ec8483c3b 100644 GIT binary patch delta 7165 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 delta 6378 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 getBlocks() { + return blocks; + } + private void updateBlockCollisionRangeWithBlock(Block b) { if (collisionColumnRanges[b.x][0]==-1||collisionColumnRanges[b.x][0]>b.y) { collisionColumnRanges[b.x][0]=b.y; } diff --git a/src/sig/Board.java b/src/sig/Board.java index 5544a28..bf00125 100644 --- a/src/sig/Board.java +++ b/src/sig/Board.java @@ -5,6 +5,7 @@ import java.awt.Color; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; public class Board { List blockData; @@ -18,6 +19,10 @@ public class Board { int x,y; int block_width,block_height; double vspeed; + + List blockClumpDeleteList = new ArrayList(); + List blockClumpAddList = new ArrayList(); + public Board(int centerX,int centerY,int block_width,int block_height,int boardWidth, int boardHeight, double gravity, double launch_power, double max_rise_spd, double max_fall_spd, double[] combo_power_bonus) { this.x=centerX; @@ -54,7 +59,6 @@ public class Board { blockData.add(defaultClump2); } public void run(long frames) { - if (frames%100==0) { blockData.add(new BlockClump(Arrays.asList(new Block((int)(Math.random()*width),0)),0,590,0,width)); } @@ -91,13 +95,36 @@ public class Board { } //System.out.println(blocks.y); } + if (blockClumpDeleteList.size()>0) { + blockData.removeAll(blockClumpDeleteList); + blockClumpDeleteList.clear(); + } + if (blockClumpAddList.size()>0) { + blockData.addAll(blockClumpAddList); + blockClumpAddList.clear(); + } } private void HandleBlockLand(BlockClump blocks, int x, double yset) { blocks.yspd=0; blocks.y=yset; - + if (blocks.launched--==-1) { + SplitBlockClump(blocks); + } + } + private void SplitBlockClump(BlockClump blocks) { + for (int x=0;xblock.x==column).collect(Collectors.toList()), + 0,blocks.y,blocks.yspd,width) + ); + } + } + blockClumpDeleteList.add(blocks); } - public void drawBoard(Graphics g) { + 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)); final int DRAW_ENDX = (int)(x + block_width*((double)width/2)); diff --git a/src/sig/Meteo.java b/src/sig/Meteo.java index 3d7946b..a505a0d 100644 --- a/src/sig/Meteo.java +++ b/src/sig/Meteo.java @@ -1,5 +1,8 @@ package sig; +import java.util.ArrayList; +import java.util.List; + import javax.swing.JFrame; public class Meteo { @@ -18,7 +21,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);