1

我想将我的海龟放置在某个方形位置。为什么下面的代码不起作用?Netlogo 接受它,但不编译,说“不能将龟变量 XCOR 设置为非数字 false” 这应该很简单,但我有点绕不过去。

crt 50
[
  set size 2

  set xcor xcor >= 81 and xcor <= 90 ;set initial location 
  set ycor ycor >= 81 and ycor <= 90 ;of turtles
  set start-patch patch-here
  pen-down
]  
4

1 回答 1

4

错误消息几乎说明了一切:set xcor应该后跟一个计算结果为数字的表达式。但是,在您的代码中,set xcor后跟一个布尔表达式(即,计算结果为trueor的东西falsexcor >= 81 and xcor <= 90:。

换句话说,xcor >= 81 and xcor <= 90不是“给一个 81 到 90 之间的数字”,而是一个问题,意思是“xcor 在 81 到 90 之间吗?” 而 NetLogo 不知道如何set xcor回答这个问题。

如果你想让 NetLogo 给你一个在一定范围内的数字,你一般需要使用这个random函数。在您的情况下,您可以简单地执行以下操作:

set xcor 81 + random 10
set ycor 81 + random 10

请注意,random这只会给你整数。如果您希望您的海龟处于非整数坐标,您可以使用random-float

于 2013-09-20T12:40:41.063 回答