Debugging NetLogo:安装在工具之后创建的修补程序->;使用了Halt吗?

Debugging NetLogo:安装在工具之后创建的修补程序->;使用了Halt吗?,debugging,netlogo,halt,Debugging,Netlogo,Halt,我有我的模型我有我的世界应该是什么样子的几个版本。我将其实现为“选择器”,包括以下选项: “单_树” “群集”。我的世界是501*501个补丁 当我运行这两种变体的setup时,在我按下Tools->“Halt”之前,不会创建它们 我真的不明白为什么,因为在我的工作模式下,这很好。另外,当我使用基本参数运行“world variations”时,只需使用[set pcolor…] 请问我的模型中有什么不好,或者我做错了什么 下面是一个工作示例-工作正常: to setup-patches ;

我有我的模型我有我的世界应该是什么样子的几个版本。我将其实现为“选择器”,包括以下选项: “单_树” “群集”。我的世界是501*501个补丁

当我运行这两种变体的
setup
时,在我按下Tools->“Halt”之前,不会创建它们

我真的不明白为什么,因为在我的工作模式下,这很好。另外,当我使用基本参数运行“world variations”时,只需使用[set pcolor…]

请问我的模型中有什么不好,或者我做错了什么

下面是一个工作示例-工作正常:

to setup-patches   ; define patchy landscape      
  ask patches [    
    ; Single tree
    ; -------------------------
    if world = "single_tree" [ 
      set pcolor green 
]

    ; Clustered trees
    ; -------------------------
    if world = "clustered" [
      set pcolor red
]    
end
这里有一个稍微复杂一点的代码,但我看不出有什么理由花这么长时间来支付

to setup-patches   ; define patchy landscape  
  ask patches [
    ; Single tree
    ; -------------------------
    if world = "single_tree" [  
     ask patches with [pxcor mod 50 = 0 and pycor mod 50 = 0] [
        set pcolor red
      ] 
    ]
    ; Clustered trees
    ; -------------------------
    if world = "clustered" [
       ask patch 0 0 [
         ask patches in-radius (2.99 * Grid) with [pxcor mod Grid = 0 and pycor mod Grid = 0] [
           set pcolor red
         ]
       ] 
;        ; determine cluster size
        ask patches with [pcolor = red] [
            ask patches in-radius radius [
              set pcolor yellow
            ]
          ]
    ]
end

我真的很感谢你的建议,非常感谢

我的问题是我用了太多的“
询问补丁
”来“
询问补丁
”来做某事

固定代码在这里-每个
if
语句仅使用
ask补丁
一次:

to setup-patches
    if world = "single_tree" [ 
      ask patches with [pxcor mod 50 = 0 and pycor mod 50 = 0] [
        set pcolor red
      ]
    ]
    if world = "clustered" [
      ask patch 0 0 [ ask patches in-radius (2.99 * Grid) with [pxcor mod Grid = 0 and pycor mod Grid = 0] [
          set pcolor red
      ]
      ]
      ask patches with [pcolor = red] [
        ask patches in-radius 5 [
          set pcolor yellow
        ]
      ]
    ]

end