Netlogo 使用一个过程设置的一个变量创建一只乌龟
Netlogo creating a turtle with one variable set by a procedure
我有这个代码来制作一只特定品种的海龟 (nodi)
create-nodi 1 [
set hidden? true
set x 0
set y 0
set larg lato
set altez lato
set livello n
set media mean [valore] of patches with [ nel-quadrato? x Y larg ]
]
我需要将变量 media 设置为对返回器 nel-quadrato 做出积极响应的补丁的变量 valore(补丁变量)的平均值?(布尔返回器)。
这个返回者应该有 3 个参数 (x, y, larg) 我正在尝试创建的海龟。
我找不到一种方法来表达 3 个参数属于我正在创建的海龟而不是补丁;事实上我有这个错误:
you cant use x in patch contex because is turtle only
这里可以用myself
来指代提问的乌龟:
patches with [nel-quadrato? [x] of myself
[y] of myself
[larg] of myself]
如果这看起来很笨拙,另一种做同样事情的方法是使用 let
:
let my-x x
let my-y y
let my-larg larg
patches with [nel-quadrato? my-x my-y my-larg]
我也喜欢 JenB 考虑重构的建议。
我有这个代码来制作一只特定品种的海龟 (nodi)
create-nodi 1 [
set hidden? true
set x 0
set y 0
set larg lato
set altez lato
set livello n
set media mean [valore] of patches with [ nel-quadrato? x Y larg ]
]
我需要将变量 media 设置为对返回器 nel-quadrato 做出积极响应的补丁的变量 valore(补丁变量)的平均值?(布尔返回器)。
这个返回者应该有 3 个参数 (x, y, larg) 我正在尝试创建的海龟。
我找不到一种方法来表达 3 个参数属于我正在创建的海龟而不是补丁;事实上我有这个错误:
you cant use x in patch contex because is turtle only
这里可以用myself
来指代提问的乌龟:
patches with [nel-quadrato? [x] of myself
[y] of myself
[larg] of myself]
如果这看起来很笨拙,另一种做同样事情的方法是使用 let
:
let my-x x
let my-y y
let my-larg larg
patches with [nel-quadrato? my-x my-y my-larg]
我也喜欢 JenB 考虑重构的建议。