Я делаю простую игру, в которой мне нужно создать объект
- его позиции x и y должны находиться в определенном диапазоне.
- он не должен перекрываться с некоторыми существующими объектами.
Для этого я использую цикл Math.random()
и do while
, но игра периодически вылетает.
Я не вижу никакой ошибки в логике, но почему она вылетает?
let posX, posY;
let invalid = false;
do {
posX = getRandomInt(0,100);
posY = getRandomInt(0,100);
if (posX > 20 &&
posX < 40 &&
posY > 20 &&
posY < 40
)
invalid = true;
}
while (invalid)
alert("not crash!")
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}