Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何要求海龟避免在补丁前1处使用特定颜色的补丁,但海龟在NetLogo中一步前进的次数更多(不是fd 1)_Netlogo - Fatal编程技术网

如何要求海龟避免在补丁前1处使用特定颜色的补丁,但海龟在NetLogo中一步前进的次数更多(不是fd 1)

如何要求海龟避免在补丁前1处使用特定颜色的补丁,但海龟在NetLogo中一步前进的次数更多(不是fd 1),netlogo,Netlogo,我试着让任何标题的海龟(随机360)避开红色的补丁。但是,我观察到,如果一只海龟被要求移动“FD1+随机浮动2.0”,那么有时候海龟会在前方出现红色区域时转向(设置航向-180),有时候(甚至大多数时候)不会转向。另外,当我要求海龟移动“fd1”或“fd0.1+随机浮点0.9”时,代码工作正常。希望背后的原因是我要求海龟一步移动的补丁数量。移动“fd 0.1+随机浮动0.9”的下一个补丁将是什么?我如何使这个补丁在1之前工作。添加了我的代码和接口 而不是提前修补 to avoid-walls

我试着让任何标题的海龟(随机360)避开红色的补丁。但是,我观察到,如果一只海龟被要求移动“FD1+随机浮动2.0”,那么有时候海龟会在前方出现红色区域时转向(设置航向-180),有时候(甚至大多数时候)不会转向。另外,当我要求海龟移动“fd1”或“fd0.1+随机浮点0.9”时,代码工作正常。希望背后的原因是我要求海龟一步移动的补丁数量。移动“fd 0.1+随机浮动0.9”的下一个补丁将是什么?我如何使这个补丁在1之前工作。添加了我的代码和接口

而不是提前修补

to avoid-walls
   let front-patches patches in-cone 2 75
   if pcolor of one-of front-patches = red [set heading heading - 180]
end

你只能向前看1个单位,但可能移动3.0个单位。你的红色条纹需要比海龟能做出的最大可能移动更宽,或者你需要检查前方的空间范围,而不仅仅是一个固定点。谢谢@MarcB,我明白了。谢谢,我试过了,但都一样。正如@MarcB在我制作红色补丁大小等于3个单位后建议的那样,它起作用了。
to avoid-walls
   let front-patches patches in-cone 2 75
   if pcolor of one-of front-patches = red [set heading heading - 180]
end