Я делаю игру со змейкой: если змея съест яблоко, она появится случайным образом в одном из углов.
Я пробовал код вроде getRandomInt(0, 25), но он порождается в диапазоне от 0 до 25:
(0,1,2,3,4,5,6,7,8,9,10, ... 25)
Код, который я использовал:
var grid = 16;
if (cell.x === apple.x && cell.y === apple.y) {
snake.maxCells++;
apple.x = getRandomInt(0, 25) * grid;
apple.y = getRandomInt(0, 25) * grid;
Я хочу, чтобы яблоко появлялось случайным образом в одном из 4 углов карты (2d)
при x = 25 или 0
или
при y = 25 или 0
не: x, y в 1 или 2 или 3 или 4 или .. 24
Что означает grid и почему 16?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если размер вашей сетки - grid, тогда не указывайте жестко 25 в своем коде, а используйте эту переменную.
Вам нужен только выбор между двумя значениями, поэтому:
apple.x = getRandomInt(0, 1) * grid;
Предполагая, что getRandomInt так работает. Конечно, вы также можете сделать это с помощью встроенной функции Math.random:
apple.x = (Math.random() >= 0.5) * grid;
Math.random () дает вам 0-0.99999999 (не уверен в точности), затем вы можете умножить его на нужное число.
Math.random () * 2 дает вам число от 0 до 2 (исключая 2), Math.random () * 100 дает вам число от 0-99.999999 .. (не 100)
Вы можете сделать это float int с помощью Math.floor () ... Math.floor (Math.random () * 100) ... так что вы получите число от 0 до 99
Попробуйте использовать это в своем файле, чтобы получить подсказку ^^
<script>
for (let i = 0; i < 100; i++)
{
console.info(Math.floor(Math.random() * 100))
}
</script>
Пожалуйста, отформатируйте код правильно!