Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables netlogo:比较两种不同海龟的变量_Variables_Compare_Netlogo - Fatal编程技术网

Variables netlogo:比较两种不同海龟的变量

Variables netlogo:比较两种不同海龟的变量,variables,compare,netlogo,Variables,Compare,Netlogo,我试图在同一个补丁上比较“能力”和“PreValue”的变量。若值上的数字=资源列表上的数字之一,那个么做些什么。 这就是我所拥有的: capabilities-own [ resource ] prevalues-own [ value ] to setup clear-all ...... ask capabilities [ set resource (list 1 2)] ask prevalues [set value ((random 4) + 1

我试图在同一个补丁上比较“能力”和“PreValue”的变量。若值上的数字=资源列表上的数字之一,那个么做些什么。 这就是我所拥有的:

capabilities-own [ resource ]
prevalues-own [ value ] 

to setup
  clear-all
  ......
  ask capabilities 
   [ set resource (list 1 2)]
  ask prevalues 
   [set value ((random 4) + 1)]
  ....
  reset-ticks
end

to compare
 ask capabilities-here
    [if any? prevalues-here 
     [ ask one-of prevalues-here   
        [ ifelse ( value = one-of resource)
            [ move-to one-of patches with [pcolor = red] ]
            [die]
]]]
但是我有 运行时错误:PREVALUES不拥有变量资源

我还尝试使用其他代码,如:

to compare
  ask capabilities-here
    [ ifelse prevalues-here with [value] = one-of [resource] of myself  
        [ move-to one-of patches with [pcolor = red] ]
        [die]]
end
它导致运行时错误:预期为真/假

感谢你的帮助

谢谢

您的线路
ifelse(value=resource之一)
导致了第一个问题。resource是功能的代理变量,但您尚未告诉NetLogo要将prevalue的值与哪个功能的资源进行比较。海龟知道它自己的代理变量和它所在补丁的补丁变量,但是如果你想从另一只海龟那里得到什么,你必须明确地说出来

另外,您希望它从资源列表中随机选择一个值,还是只希望检查列表中某个位置出现的值

我认为您需要这样的产品(未经测试):

这假设你想检查它是否在列表中,这就是我认为你第一段的意思。如果您想从列表中随机选择一个项目并检查其是否匹配,则需要类似以下内容:

 [ let this-resource one-of [resource] of myself
 ask one-of prevalues-here   
   [ ifelse value = this-resource

非常感谢Jen。你对我帮助很大。我使用你的第二个代码是为了我的目的。我仍然得到运行时错误:PREVALUES不拥有变量资源。所以我对你的做了一点修改。而且效果很好[让此资源项(随机长度资源)资源'
项(随机长度资源)resource
可以简化为resource中的一个,谢谢@SethTisue。我尝试了你的建议。它会产生运行时错误。可能是因为变量之间的列表长度不同。@Seth-DUH!请随时修复我的代码directly@SethTisue对不起,我没有解释你的代码。你的代码也很好用~
 [ let this-resource one-of [resource] of myself
 ask one-of prevalues-here   
   [ ifelse value = this-resource