我的问题包括两件事:
如何编码标题的4个不同范围
2.如何编码选择此范围的概率。 (我已在下面附上图片以表明清楚)
我想做的是:
a)标题a;海龟选择任何此范围的概率应为85%
b)对于标题b,c和b,将有5%的海龟选择此标题的任何一侧由于我在用语言解释时非常糟糕,所以我已将图像添加到我打算做的事情上
这是我的代码
to random-behave
let p random-float 100
if (p >= 85)
[set heading heading + 45
set heading heading - 45]
if (p >= 15)
[set heading other heading + 45
set heading other heading - 45]
if not can-move? 1 [ rt 180 ]
fd 1
]
end
我尝试实施rnd extension
,但我无法看到我应该把它放在哪里。如果可能的话,有没有办法根据其程度对标题进行编码,而不是if (p >=15)
?由于other
无法在此处使用。
提前谢谢。
答案 0 :(得分:4)
您不需要rnd
扩展程序,您使用random-float
的方法就可以了。但是,您需要使用if-else
而非if
,因为返回的随机数' p'即> 85也将> 15。相反,您需要将0到100之间的间隔分成适当长度的片段。这未经过测试。
to random-behave
let p random-float 100
if-else p <= 85
[ print "got up to 85" ]
[ if-else p <= 90
[ print "got 85 to 90"]
[ if-else p <= 95
[ print "got 90 to 95" ]
[ print "got 95 to 100" ]
]
]
if not can-move? 1 [ rt 180 ]
fd 1
end
您的heading
计算中也存在错误。我只回答了概率部分,因为那是你特别要求的。但是,如果您需要有关heading
的帮助,请提出新问题。