Я новичок в кодировании.Я рад получить конструктивную критику не только о своих проблемах, но и о том, как я их описываю.
У меня проблема с этим кодом в NetLogo:
patches-own[grass]
to setup
clear-all
ask one-of patches ;;pic a random patch as center of the pasture
[set grass 1] ;;and plant grass on it
ask patches ;;search through all the patches to find the one (or several ones)
[if grass > 0 ;;with grass on it
[ask patches in-radius 3 ;;select the area arround the patch with the grass
[set grass 1]]] ;;and also plant grass here
ask patches ;;search through all the patches to find the one (or several ones)
[if grass > 0 ;;with grass on it
[set pcolor green]] ;;and paint them green
reset-ticks
end
Первоначальный код былбольше, но я сузил проблему до этого фрагмента.Это часть процесса настройки модельного мира, и цель здесь состоит в том, чтобы случайным образом создать пастбище определенного размера в модельном мире.(Чтобы коровы искали и поели, но сейчас это не предмет)
Я ожидал, что код случайным образом выберет патч и посадит на нем траву, а затем увеличит площадь вокруг этого участка до определенного размера.То, что я ожидал в качестве результата, было примерно таким:
ожидаемый результат
Но вместо этого я получаю зеленую область переменных размеров и форм, которая иногда охватывает весь мир,Так же, как Blob.Вот несколько примеров его отличного внешнего вида:
BLOB-объектов
«Создание BLOB-объектов» можно обойти, например, если первый участок с травой окрашен в зеленый цвет справапосле того, как он определен, а затем на втором этапе найдите зеленый патч вместо патча с травой> 0. В любом случае каждое найденное мной решение требует дополнительных шагов, которых я надеюсь избежать.И самое главное, я хочу понять, почему это происходит, чтобы я мог избежать этого или даже использовать его в будущем.
Код очень прост и понятен.Так что, я думаю, это скорее проблема понимания интерпретации команд Netlogos.
Почему NeLogo не выполняет команды так, как я ожидаю?