Netlogo 更新从列表中拾取的对象的计数器

Netlogo 更新从列表中拾取的对象的计数器,netlogo,Netlogo,我想更新列表中某个元素的计数器,每次都是从turtles中选取的。 为此,我将设置我感兴趣的项目,并在其中添加1(计数器)。 我创建了一个名为it\u cnt的全局变量,并在创建对象的hatch中将其设置为0(以便知道最初哪个海龟拥有该项目) 这是我初始化计数器的地方: ask buyers [ hatch-obj random 5 [ set it_cnt 0 ] ] 请看下面我正在考虑的清单 let picked_obj (list item 0 o

我想更新列表中某个元素的计数器,每次都是从turtles中选取的。 为此,我将设置我感兴趣的项目,并在其中添加1(计数器)。 我创建了一个名为
it\u cnt
的全局变量,并在创建对象的
hatch
中将其设置为
0
(以便知道最初哪个海龟拥有该项目)

这是我初始化计数器的地方:

ask buyers [
hatch-obj random 5 [
            set it_cnt 0
        ]
]
请看下面我正在考虑的清单

let picked_obj (list item 0 obj_in_shop_bag item 1 obj_in_shop_bag item 2 obj_in_shop_bag item 3 obj_in_shop_bag)
我正在更新计数器,如下所示

let new_id_cnt item 3 picked_obj + 1 
添加
1
,以防买家选择
所选对象。但是,当我打印列表以查看它是否有效时

print (word " ; " item 0 obj_in_shop_bag " ; " item 1 obj_in_shop_bag " ; " item 2 obj_in_shop_bag " ; " item 3 new_id_cnt)
如果在不同的刻度中从不同的买家处拾取两次该项目(刻度是列表中的
item 0
),则我得到的唯一值是
1
,因为它已重置

如果您能告诉我如何修理计数器以使其正常工作,我将不胜感激


非常感谢。

这不是答案,但太长了,无法发表评论。我搞不懂这个问题

您在
图案填充
中设置了它\u cnt 0
,但您说它是一个全局变量。因此,如果您有10个买家,每个买家都会填充0到4个obj,并且该全局变量的单个副本会被潜在的40个obj中的每一个设置为值0。为什么?你的意思是说它是obj拥有的海龟变量吗


在更新计数器时,您突然将名称从it_cnt切换为new_id_cnt。这不会更新任何内容,这两个变量的值之间没有显示任何关联。

这不是答案,但太长,无法进行注释。我搞不懂这个问题

您在
图案填充
中设置了它\u cnt 0,但您说它是一个全局变量。因此,如果您有10个买家,每个买家都会填充0到4个obj,并且该全局变量的单个副本会被潜在的40个obj中的每一个设置为值0。为什么?你的意思是说它是obj拥有的海龟变量吗


在更新计数器时,您突然将名称从it_cnt切换为new_id_cnt。这不会更新任何内容,这两个变量的值之间没有显示任何连接。

我仍然不知道代码应该如何工作,您还没有包括任何关于更新计数器的内容。我强烈建议您在创建或更新计数器的任何位置放置大量的
打印和类似语句。这将很快告诉你为什么它不工作,因为打印输出将不同于你预期的。我仍然不知道你的代码应该如何工作,你还没有包括任何关于更新计数器的内容。我强烈建议您在创建或更新计数器的任何位置放置大量的
打印和类似语句。这将很快告诉您为什么它不起作用,因为打印输出将与您预期的不同。