我想把我的乌龟放在一个平方的位置。为什么下面的代码不起作用? Netlogo接受它,但不编译,说“不能将龟变量XCOR设置为非数字假”这应该很简单,但我有点无法解决它。
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
]
答案 0 :(得分:4)
错误消息几乎说明了一切:set xcor
之后应该跟一个计算结果的表达式。但是,在您的代码中,set xcor
后跟一个布尔表达式(即评估为true
或false
的内容):xcor >= 81 and xcor <= 90
。
换句话说,xcor >= 81 and xcor <= 90
不意味着“给我81到90之间的数字”,这是一个问题意思是“是x之间的x和90?“和NetLogo不知道如何set xcor
回答这个问题。
如果您希望NetLogo为您提供某个范围内的数字,通常需要使用random
功能。在你的情况下,你可以简单地做:
set xcor 81 + random 10
set ycor 81 + random 10
请注意,random
只会为您提供整数。如果您希望您的海龟处于非整数坐标,则可以改为使用random-float
。