新需求 : 加入特定形狀先排序－仍須符合OCP