问题描述
无法将海龟移出世界边缘。
乌龟8运行SET时发生错误
由过程LOAD-DATA调用
由过程SETUP调用
由“设置”按钮调用
我定义了世界优势
let minworldx r:get "min(dataTurtle$bcx)"
let maxworldx r:get "max(dataTurtle$bcx)"
letminworldy r:get "min(dataTurtle$bcy)"
let maxworldy r:get "max(dataTurtle$bcy)"
resize-world minworldx maxworldx minworldy maxworldy
乌龟的定义如下
set dataTurt r:get "dataTurtle" ; transfers data to Netlogo
print dataTurt ; just to test
ask turtles ; reads in data to the variables
[ set color 14
set heading 1
set xcor item who Item 1 dataTurt
set ycor item who Item 2 dataTurt
set label item who Item 0 dataTurt
set P_FertSpace 2000 ; just a value test value
]
如何确保我创建的所有海龟都获得了相关数据?
解决方法
由于存在错误,循环正在停止。错误消息告诉您该错误是因为您试图将海龟放到不存在的地方。
这个可以解决吗?
let minworldx floor r:get "min(dataTurtle$bcx)" - 1
let maxworldx ceiling r:get "max(dataTurtle$bcx)" + 1
let minworldy floor r:get "min(dataTurtle$bcy)" - 1
let maxworldy ceiling r:get "max(dataTurtle$bcy)" + 1
resize-world minworldx maxworldx minworldy maxworldy
我分别使用floor
和ceiling
进行四舍五入,然后再加上或减去1以增加安全性。这应该确保乌龟不在世界边界之外。