Я делаю игру с процедурной картой, и я хотел бы применить этот способ:
Это легко реализовать, и результаты - это то, что я ищу.
Единственная часть, с которой я застрял, — это часть 3, когда мне приходится ходить кругами и случайным образом менять воду на сушу, с более высоким шансом, что вода превратится в сушу, когда она коснется большого количества земли.
Я пытался сделать так:
if (rand() % 10 < 3 + countAdjacentTile(x, y, LAND))
функция countAdjacentTile просто подсчитывает количество плиток, помеченных как третий параметр, вокруг плитки, заданной координатами x и y.
Таким образом, у тайла воды все еще есть шанс превратиться в тайл земли, если вокруг него нет земли, и шансы выше, если вокруг есть земля.
Но это дает мне это:
в то время как это дает это по ссылке, которую я дал ранее:
Я хотел бы иметь такие же ветки. Вы знаете название алгоритма для этого? Я прочитал это: Экспоненциальное распределение Но это не очень разговорчиво для меня...
Спасибо за чтение до сих пор.
countAdjacentTile
возвращает то, что вы ожидаете? - person benjymous   schedule 19.12.2013random
.rand
не лучший вариант, и смешивание его с модом делает его еще хуже. - person Retired Ninja   schedule 19.12.2013