package sig; import java.awt.Graphics; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class BlockClump { private List blocks; double x,y; //the lower-left origin of this block clump. Every block positions relative to this. double yspd; int[][] collisionColumnRanges; int launched = 120; /* Negative is for when block clumps are divided into smaller columns for re-sorting. Positive is used for how much landing launch time before being split and falling.*/ public BlockClump(List blockList, double x, double y, double startspd, int width) { this.blocks = new ArrayList(); this.blocks.addAll(blockList); collisionColumnRanges = new int[width][]; for (int i=0;i 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; } if (collisionColumnRanges[b.x][1]==-1||collisionColumnRanges[b.x][1]