2015-09-11 8 views
1

Я моя модель У меня есть несколько вариантов того, как должен выглядеть мой мир. Я реализовал это как «выбор», включая выбор: «single_tree» «сгруппировано». Мой мир - 501 * 501 патчей.NetLogo: установочные патчи, созданные после Tools -> Halt используются?

Когда я запускаю setup из моих обоих вариантов, они не создаются, пока я не нажимаю Tools -> «Halt».

Я действительно не понимаю, почему, поскольку на моей рабочей модели это работает нормально. Также, когда я запускаю эти «мировые вариации» с основными параметрами - только с помощью [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 

здесь немного сложнее код, но я не вижу никаких оснований для принятия столь долгое время для dispaying ..

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 

Я очень ценю любые предложения и большое спасибо!

ответ

1

Моя проблема заключалась в том, что я слишком много раз «ask patches» до «ask patches», чтобы сделать что-то ...

фиксированный код здесь - с ask patches только один раз в if заявление:

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