在尝试了所有适用的解决方案均无济于事之后,我仍然想看看是否有人可以帮助我。
我有一种类型的乌龟(性工作者),沿着布尔变量[trust?]划分,并且想让每两种类型的龟中的一种/某些百分比/某些数字(不是很重要)退出模型[die]每10个刻度数。
我尝试并失败了以下内容:
试图退出一半,但但是:杀死全部或大部分而不是一半。:
ask n-of (count sexworkers / 2) sexworkers [ die ]
这一项有效,但杀死了太多人。如果任何给定补丁上有2个以上的性工作者,则除一个以外的所有其他角色都将死亡。我可以将其设置为百分比吗?
ask patches with [count sexworkers-here >= 2]
[ ask one-of sexworkers-here [ ask other sexworkers-here[die]]
]
这也杀死了每10个滴答声,对我来说太多了
ask sexworkers with [trust?][ if ticks - birth-tick > 10 [die] ]
;所有信任的性工作者都超过10个滴答声而死亡
应该杀死一定百分比,但是由于布尔属性而不是基于数字的属性,因此缺少了报告变量。
ask min-n-of (0.5 * count sexworkers with [trust?]) sexworkers with [trust?] [XXXXXXREPORTERXXXX]
[die]
答案 0 :(得分:0)
您的第一个密码是正确的。在新模型中尝试一下以查看:
to testme
clear-all
create-turtles 150 [set color red setxy random-xcor random-ycor]
print count turtles
ask n-of (count turtles / 2) turtles [ die ]
print count turtles
end
您将问题描述为代码杀死了太多代码。我怀疑你多次打过电话。例如,尝试以下版本:
turtles-own [trust?]
to testme
clear-all
create-turtles 150
[ set color red
setxy random-xcor random-ycor
set trust? random-float 1 < 0.1
]
print count turtles
print count turtles with [trust?]
ask turtles with [trust?]
[ ask n-of (count turtles / 2) turtles [ die ]
print count turtles
]
end
它分配10%的海龟具有TRUE信任吗?然后要求每只海龟杀死一半还活着的海龟。你有那样做吗?