【问题标题】:Import turtles position from a file从文件中导入海龟位置
【发布时间】:2021-12-09 09:09:45
【问题描述】:

早上好: 我目前正在开发一个 netlogo 程序,其中我有一个带有海龟坐标的文件,我需要导入该文件,以便每个海龟采用它在文件中的位置。文件如下:

 9.220967873876688 30.6518906113243

 -11.68237910031844 -11.246301104888516

 2.5642482677264593 -1.6456061198786152

 24.89458409582633 22.473096145446608

 33.714972669018216 -17.295603130774897

 10.347090714821402 13.476191522153966

 3.881957027308774 -18.70063134965679

 -21.711570773095524 -25.038263308838506

 -20.649763022691737 28.674828042635635

 -5.107177490557619 21.26440747439797

 -6.29157511915799 -32.595514274136164

 19.134302620042213 -26.443694241313267

 -27.207781014142487 -3.48941202705942

 18.198639754306242 -9.202785605985115

 -12.82510430838797 5.818222632445828

 -28.761569626881588 13.521815467262908

 34.93451881825029 -34.49959417879696

 27.234341179357532 5.506201903765271

第一列是 x 轴,第二列是 y 轴。世界维度是 y 轴 (-35,35) 和 x 轴 (-35,35)。在本例中,有 20 个坐标。所以我想从这个文件中导入,根据文件坐标生成 20 只海龟。

感谢您的帮助。

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    假设坐标文件是一个文本文件,其值由空格和回车分隔,从问题看来,文件相关的原语就足够了。

    有两种可能的情况。

    你提前知道会有多少海龟的坐标

    在这种情况下,只需使用file-openfile-readfile-close

    to setup
      clear-all
      
      file-open "coordinates.txt"
      
      create-turtles 18 [
       setxy file-read file-read 
      ]
      
      file-close
    end
    

    (请注意,您的文件示例包含 18 对坐标,而不是 20)

    你不知道会有多少海龟的坐标

    在这种情况下,使用file-at-end? 添加一个while 循环:

    to setup
      clear-all
      
      file-open "coordinates.txt"
      
      while [not file-at-end?] [
       create-turtles 1 [
         setxy file-read file-read
        ] 
      ]
      
      file-close
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2013-01-20
      • 1970-01-01
      相关资源
      最近更新 更多