首页 > 解决方案 > 在 Netlogo 中加载海龟的数据:循环似乎停止了

问题描述

我正在尝试将数据从 R 加载到 Netlogo。我总是得到错误

不能将海龟移出世界边缘。
错误,而龟 8 运行由过程调用的 SET
调用 由按钮“设置”
调用的过程 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
        
        ]

我怎样才能确保我创建的所有海龟都获得了分配的数据?

标签: netlogornetlogo

解决方案


由于出现错误,循环正在停止。错误消息告诉您错误是因为您试图将乌龟放在不存在的地方。

这能解决吗?

  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

我用floorandceiling分别向下和向上舍入,然后加或减 1 以增加安全性。这应该确保海龟不会被定位在世界边界之外。


推荐阅读