【发布时间】:2019-06-20 07:28:21
【问题描述】:
有一个红色的补丁和10海龟随机移动。
当乌龟来到red 补丁时,它变成green。
我想将模型运行 100 次,并将所有 100 次运行的刻度数(第一个补丁颜色变化所需的)输入到 Excel 表中。
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
【问题讨论】:
-
由于它只变绿一次,所以这个问题有点混乱。您希望它输出一次
ticks而不是show,还是打算多次运行模拟并希望所有运行都输出到同一个文件? -
与您的问题无关:您的硬币翻转?程序可以简化。您可以简单地说
report one-of [true false],而不是报告随机 0 或 1 是否为 0,因为one-of在选项之间随机选择统一。 -
coinflip 使海龟在每个刻度上随机向上、向下、向左、向右移动。当按下设置时,海龟被随机放置。按下 go &海龟开始永远随机移动。当一只乌龟来到绿色补丁时,它会变成红色,并且它变成红色的滴答时间会显示在命令中心。(例如 45)。补丁变成红色后,乌龟正在移动,但如果它们到达已经红色的补丁,则会显示一个滴答时间不会显示(即海龟第一次到达补丁滴答时间显示在命令中心)。我想运行程序 100 次并获得这 100 个滴答时间并将它们变成 excel。
标签: netlogo