【问题标题】:one-of neighbors with [pcolor = blue], why does the with line give me an error? ASK expected input to be an agent or agentset but got NOBODY instead[pcolor = blue] 的邻居之一,为什么 with 行给我一个错误? ASK 预期输入是代理或代理集,但得到的是 NOBODY
【发布时间】:2023-01-23 04:58:10
【问题描述】:

我正在做一个关于 netlogo 的作业,我正在制作一个水族馆。 我需要编写代码来在水族馆中种植藻类,但我收到以下错误消息:

ASK 期望输入是代理或代理集,但得到的却是 NOBODY。

第二个是我的代码:

to groei_algen
  ask patches [
    if pcolor = green [
      if %omringing = 100 [set pcolor blue] 

      ask one-of neighbors with [pcolor = blue] [
        if random 100 > %omringing [set pcolor green]    
      ]
    ]
  ]

end

%omringing 是补丁周围有多少藻类 它在没有“with”的情况下工作

当藻类斑块周围有更多藻类时,我需要减少藻类生长的机会。

【问题讨论】:

  • 请将您的代码和错误直接放在问题中。复制/粘贴,不要截图。
  • netlogo 部分中有大量问题询问此特定错误。请在搜索栏中搜索“[netlogo] but got nobody”。

标签: netlogo modeling


【解决方案1】:

似乎您收到此错误是因为您没有考虑到补丁没有任何蓝色相邻补丁的可能性。

解决这个问题的一个简单方法是添加一个额外的 if 语句,如下所示:

to groei_algen
  ask patches [
    if pcolor = green [
      if %omringing = 100 [set pcolor blue] 

      if any? neighbors with [pcolor = blue] [
        ask one-of neighbors with [pcolor = blue] [
          if random 100 > %omringing [set pcolor green]    
        ]
      ]
    ]
  ]
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 2021-05-22
    相关资源
    最近更新 更多