У меня проблема с разницей между контекстом черепахи / патча и контекстом наблюдателя.
Проблема возникает с последней строкой моего кода. Я хочу, чтобы определенное количество исправлений что-то делало, и это количество определяется переменной, которую я определил выше. Когда я использую патчи ask n-of 5, он работает нормально, но когда я заменяю 5 на переменную, он выдает сообщение об ошибке (вы не можете использовать tick в контексте turtle / patch, потому что TICK только для наблюдателей).
Кто-нибудь знает, почему это не работает?
patches-own [kans-op-ontbossing]
to setup
clear-all
ask patches [if (random 100) < bosdensiteit [set pcolor green]]
ask n-of world-height patches with [pxcor = pycor][set pcolor blue]
ask n-of world-height patches with [pxcor = max-pxcor / 2] [set pcolor grey]
ask n-of aantal-nederzettingen patches with [pcolor != blue and pcolor != grey] [set pcolor white]
reset-ticks
end
to go
if ticks = 75 [stop]
ask patches [set kans-op-ontbossing ontbossingsgevoeligheid + houtprijs + vraag-naar-landbouwgrond]
ontbos
tick
end
to ontbos
ask patches with [pcolor = green and (pxcor > 30 or pycor > 30)]
[if count (neighbors4 with [pcolor = grey]) >= 1 or count (neighbors4 with [pcolor = blue]) >= 1 or count (neighbors with [pcolor = white]) >= 1
[if random 300 < kans-op-ontbossing [set pcolor brown]]]
ask n-of (kans-op-ontbossing / 10) patches with [pcolor = grey and pxcor = ((max-pxcor / 2) + ticks)][ask patch-at 1 0 [set pcolor grey]]
end
Спасибо!