首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型的效率:用谁的数字依次灌溉

模型的效率:用谁的数字依次灌溉
EN

Stack Overflow用户
提问于 2020-10-24 15:44:53
回答 2查看 43关注 0票数 0

我已经编写了NetLogo代码,让海龟轮流改变值。乌龟是沿着小溪摆放的农夫。他们将根据其世界卫生组织的数字在空间可用水方面有所不同,并且他们将根据世界卫生组织的数字按照轮到他们的顺序取水。代码运行得很好。每一次滴答都比平时花费更多的时间。我看到完整的模型将需要更多的时间来运行。是否可以更改这些代码,使模型按照所附图片中给定的设置模式有效运行?谢谢你的帮助

代码如下所示

代码语言:javascript
复制
Breed [farmers farmer]
Farmers-own [water irrigation-turn]
to setup
  clear-all
  create-farmers 30 [ set irrigation-turn [0]

     ask farmer 0 [ setxy min-pxcor + 1 0]
     ask farmer 1 [ setxy min-pxcor + 1 2]
     ask farmer 20 [ setxy min-pxcor + 1 4]
     ask farmer 2 [ setxy min-pxcor + 3 0]
    ask farmer 3 [ setxy min-pxcor + 3 2]
    ask farmer 21 [ setxy min-pxcor + 3 4]
    ask farmer 4 [ setxy min-pxcor + 5 0]
    ask farmer 5 [ setxy min-pxcor + 5 2]
    ask farmer 22 [ setxy min-pxcor + 5 4]
    ask farmer 6 [ setxy min-pxcor + 7 0]
    ask farmer 7 [ setxy min-pxcor + 7 2]
    ask farmer 23 [ setxy min-pxcor + 7 4]
    ask farmer 8 [ setxy min-pxcor + 9 0]
    ask farmer 9 [ setxy min-pxcor + 9 2]
    ask farmer 24 [ setxy min-pxcor + 9 4]
    ask farmer 10 [ setxy min-pxcor + 11 0]
    ask farmer 11 [ setxy min-pxcor + 11 2]
    ask farmer 25 [ setxy min-pxcor + 11 4]
    ask farmer 12 [ setxy min-pxcor + 13 0]
    ask farmer 13 [ setxy min-pxcor + 13 2]
    ask farmer 26 [ setxy min-pxcor + 13 4]
    ask farmer 14 [ setxy min-pxcor + 15 0]
    ask farmer 15 [ setxy min-pxcor + 15 2]
    ask farmer 27 [ setxy min-pxcor + 15 4]
    ask farmer 16 [ setxy min-pxcor + 17 0]
    ask farmer 17 [ setxy min-pxcor + 17 2]
    ask farmer 28 [ setxy min-pxcor + 17 4]
    ask farmer 18 [ setxy min-pxcor + 19 0]
    ask farmer 19 [ setxy min-pxcor + 19 2]
    ask farmer 29 [ setxy min-pxcor + 19 4]
    ask farmers [ set label who
     set size 2]
    ]





  reset-ticks

end
to go
   define-irrigation-turn
  irrigate
 tick


end

to define-irrigation-turn ; 11 turtle ; 24 hours irrigation policy

 ask farmers [set irrigation-turn [0]
  ask farmer 0 [
      repeat 235 [
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
         ]]
ask farmer 1 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
       ]]
  ask farmer 2 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
  ask farmer 3 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
  ask farmer 4 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
       ]]

  ask farmer 5 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
       set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
   ask farmer 6 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
         ]]
   ask farmer 7 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
       ]]
   ask farmer 8 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
    ask farmer 9 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
     ask farmer 10 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
     ask farmer 11 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
     ask farmer 12 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]
    ; Turtles 13-16 will follow the same pattern
]
   ask farmer 17 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
       ]]
     ask farmer 18 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]

   ask farmer 19 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
     ask farmer 20 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]

   ask farmer 21 [
        repeat 235 [
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 1 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        set irrigation-turn lput 0 irrigation-turn
        ]]
  
    ; farmers from 26-29 will follow the same pattern as of 20 t0 21
  ]

end
to irrigate
  foreach [0 1 2 3 4 5 6 7 8 9 10 12 14 16 18  11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30]
  [ ?1 ->
      ask farmers with [who = ?1] [
        if (item ticks irrigation-turn) = 1
          [ set color red
           set shape "person"
            
  ]]]
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-25 11:09:28

您的速度问题是因为您使用以下命令创建了一个很长的列表:

代码语言:javascript
复制
set irrigation-turn lput 1 irrigation-turn

您需要确保列表不会随着时间的推移呈线性增长

票数 1
EN

Stack Overflow用户

发布于 2020-10-25 18:45:21

你对时间在这些模型中是如何工作的有一个根本性的误解。命令tick指示模型将时钟向前推进。它被嵌入到go过程中,且go过程(可能)运行每个定时器。在go过程中你需要的是在一个时间步骤中发生的事情。相反,目前,您正在追加另一个五年的时间表。

如果您需要一个时间表,因为您希望每个海龟都转一圈,然后在下一个节拍中移动到下一个海龟,那么在设置过程中构建时间表,而不是在go过程中构建时间表。您可能还应该使用mod运算符,因为它是一个周期,所以您不需要五年的时间表,您可以只存储一个周期。您也不需要使用lput逐个追加每个项目,只需一次提供整个列表即可。

类似这样的东西(注意,我已经完全放弃了时间表,只使用mod循环):

代码语言:javascript
复制
breed [farmers farmer]
farmers-own [water irrigation-turn]

to setup
  clear-all
  create-farmers 30
  [ set label who
    set size 2
  ]
  ask farmer 0 [ setxy min-pxcor + 1 0 set irrigation-turn 0]
  ask farmer 1 [ setxy min-pxcor + 1 2 set irrigation-turn 1]
  ask farmer 20 [ setxy min-pxcor + 1 4 set irrigation-turn 2]
  ; and similarly for remaining farmers
  reset-ticks
end

to go
 irrigate
 tick
end

to irrigate
  ask turtles with [irrigation-turn = (ticks mod count farmers)]
  ; do whatever it is they do when it's their turn
  ask turtles with [irrigation-turn != (ticks mod count farmers)]
  ; do whatever it is they do when it's not their turn
end

或者,如果你想保持一个时间表(例如,因为有一些星期不适合一个周期),那么直接构造一个。例如,如果你想要一个4周周期中的第3周,你可以简单地这样做:

代码语言:javascript
复制
set irrigation-turn [ 0 0 1 0]

还有其他一些技术可以使用reduce sentence n-values来处理更长的列表,但是我认为没有它们,效率问题也可以解决。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64511139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档