void SetUnbalanceGroups(Block.Group group) {
        HashSet<Block.Group> unbalanceGroups = group.LookUpUnbalanceGroups();
        foreach (Block.Group g in unbalanceGroups) {
            foreach (Block member in g) {
                this.unbalanceBlocks.Add(member);
                member.ShakeStart(this.shakeTime);
            }
        }

        this.unbalanceBlocks.Sort(delegate(Block a, Block b) {
                return (a.pos.y < b.pos.y ? 1 : -1);
            });
    }