如何获得乌龟到达绿色补丁所需的滴答声数量?

时间:2019-06-20 07:28:21

标签: netlogo

有一个红色补丁,10只乌龟随机移动。

当乌龟来到red补丁时,它变成green

我想将模型运行100次,并在Excel工作表中获取所有100次运行的滴答声数量(第一次更改补丁颜色)。

to setup
  clear-all      ; clear everything when we click setup
  setup-patches
  setup-turtles
  reset-ticks
end

to setup-patches
  ask n-of humans patches [set pcolor green]
end

to setup-turtles
  create-turtles Mosquitos
  ask turtles [
    set size 1
    set shape "bug"
    set color yellow
    setxy random-xcor random-ycor
     ]
    ask turtles
     [
      ifelse coin-flip?
          [ifelse coin-flip? [set heading 0][set heading 90]]
          [ifelse coin-flip? [set heading 180][set heading 270]]
    ]

end

to go
  ask turtles
    [
       ifelse coin-flip?
          [ifelse coin-flip? [set heading 0][set heading 90]]
          [ifelse coin-flip? [set heading 180][set heading 270]]
       forward 1
        if pcolor = green
          [
            set pcolor red
          show ticks
          ]
    ]
        tick
end

to-report coin-flip?
  report random 2 = 0
end

1 个答案:

答案 0 :(得分:0)

BehaviorSpace会自动跟踪步骤。您所需要做的就是设置一个BehaviorSpace实验,当补丁变为绿色时,该实验将停止仿真。

您需要告诉BehaviorSpace在补丁变成绿色时停止。因此,any? patches with [pcolor = green]是实验中的停止条件。将步骤发送到文件时,“测量使用这些报告程序运行”框中不需要任何内容​​,因此只需将其保留为count turtles即可。同时取消选中该框,以便仅在运行结束时报告。使用BehaviorSpace输出的表格形式。