Netlogo 更新从列表中拾取的对象的计数器
我想更新列表中某个元素的计数器,每次都是从turtles中选取的。 为此,我将设置我感兴趣的项目,并在其中添加1(计数器)。 我创建了一个名为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
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。这不会更新任何内容,这两个变量的值之间没有显示任何连接。我仍然不知道代码应该如何工作,您还没有包括任何关于更新计数器的内容。我强烈建议您在创建或更新计数器的任何位置放置大量的
打印和类似语句。这将很快告诉你为什么它不工作,因为打印输出将不同于你预期的。我仍然不知道你的代码应该如何工作,你还没有包括任何关于更新计数器的内容。我强烈建议您在创建或更新计数器的任何位置放置大量的打印和类似语句。这将很快告诉您为什么它不起作用,因为打印输出将与您预期的不同。