我尝试做一个简单的垃圾箱包装程序。我有N个随机大小的块,我需要将所有N个块都放在功能区中,以使高度尽可能小
块和功能区都已初始化好。我读了一种解决此问题的技术,我将为其制定一个计划,以使其更具发言性:
所以,我要做的是下一个方块需要在我放置红点的位置绘制。它将一直检查左下角的点:如果他可以放入,则可以,如果不能,则将尝试另一个红色点。
我有一个ArrayList,其中包含块,这些块按从高到低的顺序排列。
对不起,如果我讲得不好,英语不是我的主要语言。
这是我的代码块和功能区代码:
public Block() {
this.x = 0;
this.y = 0;
this.height = 20 + rand.nextInt(80 - 10);
this.weight = 10 + rand.nextInt(50 - 10);
//this.placeDispo = this.largeur;
//this.hauteur = 30;
//this.largeur = 30;
id = genID.getAndIncrement();
this.color = new Color(0 + rand.nextInt(255),
(0 + rand.nextInt(255)),
(0 + rand.nextInt(255)));
}
public Ribbon() {
randomGenerator = new Random();
this.weight = 100 + randomGenerator.nextInt(580 - 100);
this.height = 100; //ça doit être a l'infini
listBlockInRibbon = new ArrayList<Bloc>();
listBlocksRemaining = new ArrayList<Bloc>();
}
私下