我对NetLogo的情况感到怀疑/好奇。而且,我也不知道是否有解决方案,也不知道发生这种情况的确切原因。
我做了一个小代码来说明我的问题..。
所发生的情况如下:
。
我想知道为什么会这样?会用其中之一吗?
如果有任何解决方案,因为我需要在界面上看到海龟标签,以遵循模型并检查其操作。
如果有人对如何解决这一问题以及为什么会发生这种情况有任何想法,我将不胜感激。
(预先谢谢:)
globals [ edge-size ValidHabs PatchSet ]
patches-own [ scale-patch ]
to setup
ca
random-seed 1
set ValidHabs [ [1] [2] [3] ]
set edge-size 60
set-patch-size 20
let list1 ( list 4 8 )
set PatchSet patches with [
( pxcor mod ( 2 + 1 ) = 0 ) and ( pycor mod ( 2 + 1 ) = 0 ) ]
(
foreach ValidHabs [
this-profile ->
ask one-of PatchSet [ sprout 1 ]
]
)
ask patches [
set scale-patch random 10
set pcolor scale-color green scale-patch -8 12
]
reset-ticks
end
to go
do-something
tick
end
to do-something
move-turtles
end
to move-turtles
ask turtles [
rt random-normal 0 90
fd 3
set color black
pen-down
set pen-size 2
]
end
;Interface button code (turtle labels)
;ask turtles [
; ifelse label = "" [
; set label ( who )
; set label-color white
; ]
; [
; set label ""
; ]
;]
发布于 2022-02-04 01:47:00
伟大的工作与最低限度的可重复的例子,这真的很有帮助!如果我明白你在问什么,你想知道为什么,尽管设置了random-seed
,但你的两次得分之间还是有区别的?如果是这样的话,我认为这是因为您正在执行一个额外的操作(ask turtles [...
),它依赖于随机性来操作。当你ask
海龟的时候,海龟的行为是随机的。所以,如果你每次都需要海龟以同样的方式移动,一种快速的方法就是在你试图复制的动作之前设置随机数。例如,如果我将move-turtles
更改为:
to move-turtles
random-seed 123
ask turtles [
rt random-normal 0 90
fd 3
set color black
pen-down
set pen-size 2
]
end
然后跑4次,我得到了这个没有标签的运动模式:
如果我是setup
-> label
-> go
x4:
希望这能让你朝着正确的方向前进!
https://stackoverflow.com/questions/70979973
复制相似问题