list - Netlogo 列表:在列表中检测到一个特定补丁的最大距离的补丁 - 对于每只海龟
问题描述
我想在 Netlogo 中解决一个远远超出我的编程技能的问题。我想为每只乌龟建立一个列表,其中包含乌龟在这一“天”去的最远的补丁。到目前为止,我试图建立一个列表,为每只海龟存储所有补丁。现在我想计算——对于每只海龟——这个列表中离它的家有最大距离的补丁(隐藏)。我想每天晚上清空列表(这不是强制性的)到目前为止这是我的代码:
let temp-visited-patch-list lput patch-here temp-visited-patch-list
if period = night
[
[foreach [temp-visited-patch-list] [x -> set visited-patch-list lput (max x [distance hide]) visited-patch-list]]
let temp-visited-patch-list []
]
所以我离提取每只海龟的值并不遥远——甚至我发布的部分也不起作用。我收到“预期的命令”错误。对于解决此问题的任何建议,我将不胜感激。最好的问候奥利维亚
解决方案
这段代码让海龟移动,记住它们最远的补丁并将这些补丁变成红色并计算平均距离。它应该有助于指导您如何使用补丁和海龟属性来解决您的问题。
globals [home-patch]
turtles-own
[ farpatch
maxdistance
]
to setup
clear-all
set home-patch one-of patches
ask home-patch
[ set pcolor blue
sprout 20
]
reset-ticks
end
to go
repeat 20 [movement]
ask (patch-set [farpatch] of turtles) [set pcolor red]
type "Average max distance:" print mean [maxdistance] of turtles
tick
end
to movement
ask turtles
[ set heading random 360
forward 1
if distance home-patch > maxdistance
[ set maxdistance distance home-patch
set farpatch patch-here
]
]
end
推荐阅读
- java - 带有ssl的spring webclient抛出NPE
- angular - 如何在重新加载时保留查询字符串
- android - Android - 在模拟器中没有信息的情况下启动 CameraIntent 活动以导致结果崩溃
- .net - 具有应用程序角色的守护程序应用程序无法访问具有相同角色的已定义 AuthorizeAttribute 的端点
- python - 从 Python 脚本中提取 splukn 数据
- flutter - Flutter MVVM 堆叠
- angular - Angular - 无法将 API 中的数据显示到模板中
- vue.js - 如何构造中间组件
- java - 如何从 cosmos db 中的现有表访问分区键
- python - Stockfish 国际象棋引擎在 Heroku 上得到:“EngineTerminatedError:引擎进程意外死亡”