Netlogo:传播恐惧(改变颜色和速度)

Netlogo:传播恐惧(改变颜色和速度),netlogo,panic,Netlogo,Panic,在模拟开始时,我有n个海龟恐慌紧急表示设置恐惧?为真,设置为红色,速度应为1的2档。那群乌龟被认为是在传播他们的恐惧。 现在我有两个问题: 惊慌失措的海龟不会比正常的海龟移动得快 我尝试了海龟自己的[速度]和为惊慌失措的海龟设置速度+2(虽然恐惧?=真),但它不起作用 惊慌失措的海龟不会传播他们的恐惧 我有以下代码: to panic set color red set speed speed + 2 set fear? true end to fear ask n-o

在模拟开始时,我有n个海龟恐慌
紧急
表示设置
恐惧?
为真,设置为红色,速度应为1的2档。那群乌龟被认为是在传播他们的恐惧。 现在我有两个问题:

  • 惊慌失措的海龟不会比正常的海龟移动得快
我尝试了
海龟自己的[速度]
为惊慌失措的海龟设置速度+2
(虽然恐惧?=真),但它不起作用

  • 惊慌失措的海龟不会传播他们的恐惧
我有以下代码:

to panic
  set color red
  set speed speed + 2
  set fear? true
end

to fear
  ask n-of number-of-panicking-people turtles [panic]
end 

to spread
  ask turtles with [fear? = true and color != red]
  [ask other turtles-here with [fear? = false]
    [if (random-float 100) < spreadfear
      [panic]]]
end
惊慌失措 设置颜色为红色 设定速度+2 设置恐惧?真的 结束 怕 询问惊慌失措的人数海龟[惊慌失措] 结束 散布 问海龟[恐惧?=真实和颜色!=红色] [带着[恐惧?=错误]询问这里的其他海龟] [如果(随机浮动100)< [恐慌]] 结束 到目前为止唯一有效的方法就是“害怕”,有些海龟会变红,但速度不会改变,等等


谢谢大家!

那更好!至少,在这里,有一些代码可以锁定。不过,为了诊断为什么速度更快的海龟移动不快,我们需要查看代码中它们实际移动的部分。我想你应该在某个地方有类似于
fd-speed
的东西。不是这样吗?至于为什么恐惧没有扩散,我觉得你的代码没问题。我怀疑这可能与传播恐惧有关。它的定义是什么?它的价值是什么?作为旁白:你不需要写
恐惧?=正确
恐惧?=错误
。它已经是布尔值了。只要写
恐惧?
不恐惧?
。例如:
用[fear?和颜色!=红色]询问海龟
用[not fear?]询问其他海龟
。spreadfear是一个从0到100递增0.1的滑块。无论滑块的值如何,它都不起作用。我还没有在我的代码中使用速度,但在某些地方只使用了fd1、fd0和fd-1。我所做的只是提到海龟们自己的速度,仅此而已。速度通常设置为1,所以说速度+2是有意义的,还是我必须先说所有海龟的速度都设置为1,然后才能说设置速度+2?我试过(害怕?),但它给了我一个错误消息。但这只是一个小错误,还不需要修复。关于
速度
:如果不在某个地方实际使用某个变量,就不能期望该变量产生效果。NetLogo不知道你想要
speed
来代表海龟的速度。尝试分别用
fd速度
bk速度
替换
fd 1
fd-1