Math.random () с циклом do while иногда вешает страницу - PullRequest
0 голосов
/ 26 июня 2019

Я делаю простую игру, в которой мне нужно создать объект

  1. его позиции x и y должны находиться в определенном диапазоне.
  2. он не должен перекрываться с некоторыми существующими объектами.

Для этого я использую цикл 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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...