【问题标题】:NetLogo: calculate distance to other turtles and make them dissatisfied if another turtle is too closeNetLogo:计算与其他海龟的距离,如果另一只海龟离得太近,则使它们不满意
【发布时间】:2020-12-21 16:45:03
【问题描述】:

我让我的乌龟在斑块上发芽,在“开始”时,我希望每只乌龟计算另一只乌龟是否离得太近(基于 X 米/斑块的某个阈值)。如果另一只乌龟离得太近,我希望乌龟变得“不满意”。 海龟的运动不是必需的。

最好的方法是什么?到目前为止,我唯一的 go 过程代码如下:

to go
  ask n-of initial-number-tourists (patches with [ lagoon_proximity = 1])
  [
    sprout 1 [
      set color black
      set size 10
    ]
  ]
tick 
end

亲切的问候!

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    您的代码正在创建更多海龟,并且没有任何关于检查距离的内容,因此不清楚它与您要解决的问题有何关系。但是,下面的代码会测量到最近的海龟的距离,如果小于 5,则会打印一条消息。

    ask turtles
    [ let nearest min-one-of turtles [distance myself]
      if distance nearest < 5 [ show "I feel crowded" ]
    ]
    

    【讨论】:

    • 感谢您的评论!事实上,我到目前为止的代码与检查距离无关。目的是根据前一个滴答声中满意/不满意海龟的数量在每个滴答声中发芽乌龟。因此,如果在第一个滴答中 500 只海龟发芽,其中 400 只被确定为满意,那么这 400 只将在下一个滴答中发芽。
    • StackOverflow 是为了帮助您修复代码,您需要实际尝试并自己动手(并描述代码有什么问题),以便修复一些问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    相关资源
    最近更新 更多