下面的代码行告诉海龟(商店的扒手),他们对风险的认识是否足够低,足以企图偷窃;以及( 2)他们是否被抓到在商店行窃。
如果人们对风险的看法是60岁或以下,而且他们以前没有被阻止过在商店行窃,他们就会企图偷盗。
恐惧有两种效果。对于被抓到的商店盗贼来说,逮捕使97%的非职业商店扒手不再偷窃。对于多达5名潜在的商店扒手谁打算瞄准同一家商店,他们的感知-在商店盗窃的风险增加了5。
我的问题是:在它们旁边有星号的解释/代码行,这行得通吗?我试图增加海龟的风险意识,因为海龟和被抓的海龟共用同一个目标商店。
to number-shoplifts
ask shoplifters [ if [pcolor] of patch-here = lime and
perception-of-risk <= 60 and forever-deterred = 0
[ifelse (random-float 1 < 0.98) [
set successful-shoplifts successful-shoplifts + 1 ]
[ifelse (random-float 1 < 0.05) [
set successful-shoplifts successful-shoplifts + 0 ]
[ifelse (random-float 1 < 0.99 ) [
set security-apprehension security-apprehension + 1
if professional = 0 and (random-float 1 < 0.97) [set forever-deterred 1]
*** ask n-of 5 shoplifters [if target-store = patch-here [ set perception-of-risk perception-of-risk + 5 ]]
]
[set successful-shoplifts successful-shoplifts + 1 ]
]]]]
end发布于 2018-08-20 20:04:09
测试像这样的东西是否有效的最简单的方法是添加一些可见的更改。将指定的一行改为:
ask n-of 5 shoplifters
[ write target-store write " with risk " print perception-of-risk
if target-store = patch-here
[ set perception-of-risk perception-of-risk + 5
set color red
show perception-of-risk ]
]这样做的目的是要有一些输出来告诉你发生了什么。
https://stackoverflow.com/questions/51936371
复制相似问题