Как случайным образом заменить какой-либо элемент из сетки? - PullRequest
0 голосов
/ 05 февраля 2019

Хорошо, я подумал об этом и понял, что понятия не имею, как это сделать.Это мой предыдущий вопрос о том, как построить сетку (уже решено, но необходимо решить эту проблему): Как сделать сетку из 20 строк и 50 столбцов в java

Теперь мне нужно заменить75 из этих точек с наземными минами (%) в случайном порядке в сетке, так как игра будет совершенно новой каждый раз.Но я понятия не имею, как это сделать.

1 Ответ

0 голосов
/ 05 февраля 2019

Вы уже знаете, как перебирать свою сетку.Вот что вы можете сделать:

  • Создать переменные, которые будут отслеживать количество установленных мин.
  • В начале каждой итерации подсчитайте, сколько точек сетки еще впереди(включая этот)
  • Рассчитайте вероятность того, что если вы случайно распределите оставшиеся мины по точкам сетки, следующая точка сетки будет содержать шахту.(#mines / #gridpoints)
  • Поставьте туда мины с такой вероятностью и перейдите к следующей точке сетки.

В итоге вы получите ровно 75 мин, случайно распределенных вваша сетка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...