Netlogo 改变自己的颜色
我有下面的代码,我要求一些特工去死:Netlogo 改变自己的颜色,netlogo,Netlogo,我有下面的代码,我要求一些特工去死: breed [ readers reader ] breed [ pallets pallet ] breed [ trucks truck ] readers-own [ truck-being-served pallet-being-served ] to complete-service [ ?reader ] ask ?reader [ ask pallet-being-served [ die ] set
breed [ readers reader ]
breed [ pallets pallet ]
breed [ trucks truck ]
readers-own [
truck-being-served
pallet-being-served ]
to complete-service [ ?reader ]
ask ?reader [
ask pallet-being-served [ die ]
set pallet-being-served nobody
ask truck-being-served [
if not any? pallets-in-truck [
ask self [ die ]
ask myself [
set truck-being-served nobody
set color green
set next-completion-time 0
]
]
]
]
end
其中提供的托盘
和卡车
是托盘和卡车代理商。
问题是内在的问我自己[…
它似乎不起作用,因为?阅读器
代理的颜色没有变为绿色。在这里,我不确定我是指?阅读器
,还是指我刚刚杀死的正在服务的卡车
代理。我想把颜色变为绿色。问我自己[…
指的是读卡器代理
问候。让一只死乌龟做点什么没有效果。另外,请提供一个最简单的例子来说明你的问题
globals [next-completion-time]
breed [ readers reader ]
breed [ pallets pallet ]
breed [ trucks truck ]
readers-own [
truck-being-served
pallet-being-served ]
trucks-own [pallets-in-truck]
to setup
ca
create-readers 1
create-trucks 1
create-pallets 1
ask reader 0 [set truck-being-served truck 1]
ask truck 1 [set pallets-in-truck pallets]
ask reader 0 [set pallet-being-served one-of [pallets-in-truck] of truck 1]
end
to complete-service ;reader proc
ask pallet-being-served [ die ]
ask truck-being-served [
if not any? pallets-in-truck [
ask myself [
set color green
set next-completion-time 0
]
die
]
]
end
to test
setup
ask reader 0 [complete-service]
end
要求一只死乌龟做某事没有效果。另外,请提供一个最小的可运行的例子来说明你的问题
globals [next-completion-time]
breed [ readers reader ]
breed [ pallets pallet ]
breed [ trucks truck ]
readers-own [
truck-being-served
pallet-being-served ]
trucks-own [pallets-in-truck]
to setup
ca
create-readers 1
create-trucks 1
create-pallets 1
ask reader 0 [set truck-being-served truck 1]
ask truck 1 [set pallets-in-truck pallets]
ask reader 0 [set pallet-being-served one-of [pallets-in-truck] of truck 1]
end
to complete-service ;reader proc
ask pallet-being-served [ die ]
ask truck-being-served [
if not any? pallets-in-truck [
ask myself [
set color green
set next-completion-time 0
]
die
]
]
end
to test
setup
ask reader 0 [complete-service]
end
谢谢。我想这是我的错误。我问自己,可能我指的是正在服务的
卡车
。我想更改读卡器代理的颜色,但在内,请询问正在服务的卡车[…
。再看一眼,我认为我理解了你的解决方案。非常感谢,你是对的。谢谢。我认为这是我的错误。我问自己,可能我指的是正在服务的卡车。我想更改读卡器代理的颜色,但在中,请询问正在服务的卡车[…
。再看一眼,我想我理解了你的解决方案。非常感谢,你是对的。如果你不确定你指的是什么乌龟(大概是用self
语句)-最简单的调试方法是在ask self
代码块中使用print
语句。ask self
永远不适合在NetLogo中写入。您始终可以替换ask self[foo]
仅使用foo
,它们的意思总是完全相同。如果你不确定你指的是什么海龟(大概是用self
语句)-最简单的调试方法是在ask self
代码块中使用print
语句。ask self
永远不适合在NetLogo中写入。您可以始终将ask self[foo]
替换为foo
,它们的含义总是完全相同的。