Button 如何阻止海龟
我想知道,如果前面有一块黑色区域,如何阻止我的海龟(赞助人)前进。问题是,go按钮是一个永久按钮。我试着用坐标使海龟转弯,但当然这不会阻止海龟前进,因为它是一个永久按钮。这在Button 如何阻止海龟,button,netlogo,forever,Button,Netlogo,Forever,我想知道,如果前面有一块黑色区域,如何阻止我的海龟(赞助人)前进。问题是,go按钮是一个永久按钮。我试着用坐标使海龟转弯,但当然这不会阻止海龟前进,因为它是一个永久按钮。这在NetLogo中,只是为了澄清一下 to go ;; customer procedure ask patrons [ fd 1 while [any? other patrons-here] [ fd 1 ] if pxcor = -15 and pycor = 14
NetLogo
中,只是为了澄清一下
to go ;; customer procedure
ask patrons [
fd 1
while [any? other patrons-here]
[ fd 1 ]
if pxcor = -15 and pycor = 14
[rt 90]
if pxcor = -14 and pycor = 14
]
tick
end
我不完全清楚你们是否有多个赞助人。如果问题是要停止模型运行,则可以使用
stop
原语。如果问题是您想阻止某个特定的用户,使其可以执行其他操作,那么您可以使用ifelse
原语来检查它是否在每次滴答声中移动或执行其他操作
globals [numwant]
turtles-own [new?]
to setup
clear-all
set numwant 5
create-turtles 1 [set color green
set new? TRUE]
ask n-of 30 patches [set pcolor red]
reset-ticks
end
to go
ask turtles with [new?]
[ ifelse [pcolor] of patch-ahead 1 != red
[ fd 1]
[ set color yellow
set new? FALSE
ifelse count turtles < numwant
[spawn]
[stop]
]
]
tick
end
to spawn
hatch 1 [set color green
setxy random-xcor random-ycor
set heading random-float 360
set new? TRUE]
end
globals[numwant]
海龟自己的[新的?]
设置
清除所有
设置numwant 5
创建海龟1[设置颜色为绿色]
设置为新?为真]
询问30个贴片中的n个[设置颜色为红色]
重置滴答声
结束
外带
向海龟询问[新的?]
前方补丁的[ifelse[pcolor]1!=红色
[fd 1]
[设置颜色为黄色
重新设置?错误
如果还有海龟计数
编辑添加多个海龟和顺序产卵以回应评论。不过,您可能需要仔细考虑一下您的逻辑,一次只移动一只海龟是不寻常的。非常感谢您,我一直在尝试如何使用stop,这非常完美。然而,我忽略了询问我是否创建了多个用户,在我的设置中,我创建了一个滑块中的用户数量,比如说15,我如何首先让一只海龟产卵,到达某个补丁,比如说绿色,然后要求第二个用户产卵,依此类推@JenB@Ivan我想JenB已经回答了你原来的问题。你应该接受她的答案(旁边有一个大大的复选标记),然后开始一个新的问题,去问一些新的问题。