Это часть кода, который я использую для рисования случайных кругов:
if(circles.length != 0) { //1+ circles have already been drawn
x = genX(radius);
y = genY(radius);
var i = 0;
iCantThinkOfAGoodLabelName:
for(i in circles) {
var thisCircle = circles[i];
if(Math.abs(x-thisCircle["x"])+Math.abs(y-thisCircle["y"])>radius*2) {
//overlaps
} else {
//overlaps
x = genX(radius);
y = genY(radius);
continue iCantThinkOfAGoodLabelName;
}
if(i == circles.length - 1) { //Last iteration
//Draw circle, add to array
}
}
}
Проблема заключается в том, что при наложении круг с вновь сгенерированными координатами не проверяется на совпадение с кругами, с которыми перекрывающийся круг уже был проверен. Я попытался установить I в 0, прежде чем использовать оператор continue, но это не сработало. Пожалуйста, помогите, я действительно запутался.