Button 如何阻止海龟

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

我想知道,如果前面有一块黑色区域,如何阻止我的海龟(赞助人)前进。问题是,go按钮是一个永久按钮。我试着用坐标使海龟转弯,但当然这不会阻止海龟前进,因为它是一个永久按钮。这在
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已经回答了你原来的问题。你应该接受她的答案(旁边有一个大大的复选标记),然后开始一个新的问题,去问一些新的问题。