From 889e31a2b61cd83ec74ed572cce3a1704f78adb9 Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Fri, 24 Sep 2021 01:03:09 +0000 Subject: [PATCH] Implement new launch clear algorithm --- Meteo_Engine.jar | Bin 14325 -> 14325 bytes src/sig/Block.java | 2 +- src/sig/BlockClump.java | 4 ++-- src/sig/Board.java | 37 +++++++++++++++++-------------------- 4 files changed, 20 insertions(+), 23 deletions(-) diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index 4b234c4dbd2f49a9218c2e7f52adc1dc5143486a..ee98b0e782cd67ec83ff10236bf36475595c0400 100644 GIT binary patch delta 8263 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 diff --git a/src/sig/Block.java b/src/sig/Block.java index c22b409..1fc2a7e 100644 --- a/src/sig/Block.java +++ b/src/sig/Block.java @@ -16,7 +16,7 @@ public class Block{ public Block(int x,int y) { this.x=x; this.y=y; - state = STARTINGSTATES[(int)(Math.random()*STARTINGSTATES.length)]; + state = STARTINGSTATES[(int)(Math.random()*1)]; } @Override public String toString() { diff --git a/src/sig/BlockClump.java b/src/sig/BlockClump.java index a41241f..ed7216b 100644 --- a/src/sig/BlockClump.java +++ b/src/sig/BlockClump.java @@ -49,9 +49,9 @@ public class BlockClump { } public void removeBlock(Block...blocks) { for (Block b : blocks) { - updateBlockCollision(); this.blocks.remove(b); } + updateBlockCollision(); } public void drawBlocks(Graphics g, int originX, int originY, int block_width, int block_height) { for (Block b : blocks) { @@ -95,8 +95,8 @@ public class BlockClump { } if (collisionColumnRanges[b.x][1]==-1||collisionColumnRanges[b.x][1] markedBlocks = new ArrayList(); for (int y=0;y blockList = blocks.getSortedBlocksOnRow(y); - List markedBlocks = FindMatches(blockList,width,true); - int ourY = 0; - if (markedBlocks.size()>0) { //Ignite these blocks. - //Get all blocks above us. We will be taking all of these out of the current block clump and making a new one. - List newClumpList = new ArrayList(); - for (Block b : markedBlocks) { //Get all blocks above this set. - newClumpList.addAll(blocks.getBlocks().stream().filter((block)->block.x==b.x&&block.y>b.y).collect(Collectors.toList())); - b.state = BlockState.IGNITED; - ourY=b.y; - } - newClumpList.addAll(markedBlocks); - BlockClump newClump = new BlockClump(newClumpList,0,blocks.y+ourY*block_height,launch_power,width,120); - blocks.removeBlock(markedBlocks.toArray(new Block[markedBlocks.size()])); - blockClumpAddList.add(newClump); - //System.out.println("Marked: "+markedBlocks); - } + markedBlocks.addAll(FindMatches(blockList,width,true)); } for (int x=0;x blockList = blocks.getSortedBlocksOnCol(x); - List markedBlocks = FindMatches(blockList,blocks.maxBlockHeight,false); - if (markedBlocks.size()>0) { //Ignite these blocks. - System.out.println("Marked: "+markedBlocks); + markedBlocks.addAll(FindMatches(blockList,blocks.maxBlockHeight,false)); + } + if (markedBlocks.size()>0) { + List newClumpBlocks = new ArrayList(); + newClumpBlocks.addAll(markedBlocks); + for (Block b : markedBlocks) { + b.state = BlockState.IGNITED; + //All blocks above marked blocks now join the clump. + newClumpBlocks.addAll(blocks.getSortedBlocksOnCol(b.x).stream().filter((block)->!newClumpBlocks.contains(block)&&block.y>b.y).collect(Collectors.toList())); } + //For now just get rid of them. + blocks.removeBlock(newClumpBlocks.toArray(new Block[newClumpBlocks.size()])); } return false; } @@ -166,6 +161,7 @@ public class Board { } else { if (matches>=3) { markedBlocks.addAll(tempMarkedBlocks); + System.out.println(" Added to Marked blocks: "+tempMarkedBlocks); } matches=1; col=currentBlock.state; @@ -180,6 +176,7 @@ public class Board { } if (matches>=3) { markedBlocks.addAll(tempMarkedBlocks); + System.out.println(" Added to Marked blocks: "+tempMarkedBlocks); } return markedBlocks; }