【问题标题】:netlogo: Check whether a certain turtle is ahead of current moving turtlenetlogo: 检查某只乌龟是否领先于当前移动的乌龟
【发布时间】:2016-01-03 16:46:30
【问题描述】:

A.在 NetLogo 中,我想检查当前移动的海龟前面是哪种海龟。我试图通过观察前方乌龟的形状或颜色来做到这一点。上下文:我想让移动的乌龟检查它是否遇到移动的敌人,如果是,移动的乌龟应该避开移动的敌人

我试过这条线作为条件:

if [color] of turtles-on patch-ahead 0 = yellow [do this]

B.我想检查某个海龟是否与当前移动的海龟重叠,并以此代码为条件。

if [color] of turtles-here = yellow [do this]

它没有给出错误,但它没有按预期进行。

【问题讨论】:

  • patch-ahead 0patch-here 的含义相同,因此turtles-on patch-ahead 0 简化为turtles-here,这可能不是您的意思。
  • 你需要决定你想要的乌龟在另一只乌龟“前面”的定义是什么。例如,您可能想要查看 in-cone 原语。
  • 上下文是我想检查移动的乌龟是否遇到移动的敌人,这样移动的乌龟就可以避开移动的敌人,我会在我的问题中更新这个:)

标签: shape netlogo turtle-graphics


【解决方案1】:
[color] of turtles-here

返回颜色列表。黄色返回一个数字。所以你是在比较一个列表和一个数字,而不是一个数字和一个数字。

我想你会喜欢:

if any? turtles-here with [color = yellow] [do something]

【讨论】:

  • 谢谢!这解决了第二个问题。你对第一个问题有什么建议吗? :D
  • 第一个问题是什么?我不确定手头的问题。
  • 检查移动的乌龟前面的乌龟是否是黄色的,如果是,这样做
  • 你的意思是海龟——这里是海龟——这里是前面的补丁,对吧?
  • 只需替换您要检查的代理的代理集。所以将 turtles-here 更改为 turtles-on patch-ahead 1
猜你喜欢
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多