更新从列表中选取的对象的计数器
Updating counter of picked objects from a list
我想更新列表中元素的计数器,每次从海龟中挑选它。
为此,我正在设置我感兴趣的项目并将其加 1(计数器)。
我创建了一个名为 it_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
以防买家选择 picked_obj
。但是,当我打印列表以查看它是否有效时
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
,因为它已被重置。
如果您能告诉我如何修复计数器以使其正常工作,我将不胜感激。
非常感谢。
这不是答案,但对于评论来说太长了。我无法理解这个问题。
你在 hatch
中有 set it_cnt 0
但你说它是一个全局变量。因此,如果您有 10 个买家,他们每个人孵化 0 到 4 个 obj,并且全局变量的单个副本被潜在的 40 个 obj 中的每一个设置为值 0。为什么?你的意思是它是一个归obj所有的海龟变量?
在您更新计数器的地方,您突然将名称从 it_cnt 更改为 new_id_cnt。这不会更新任何内容,这两个变量的值之间没有任何联系。
我想更新列表中元素的计数器,每次从海龟中挑选它。
为此,我正在设置我感兴趣的项目并将其加 1(计数器)。
我创建了一个名为 it_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
以防买家选择 picked_obj
。但是,当我打印列表以查看它是否有效时
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
,因为它已被重置。
如果您能告诉我如何修复计数器以使其正常工作,我将不胜感激。
非常感谢。
这不是答案,但对于评论来说太长了。我无法理解这个问题。
你在 hatch
中有 set it_cnt 0
但你说它是一个全局变量。因此,如果您有 10 个买家,他们每个人孵化 0 到 4 个 obj,并且全局变量的单个副本被潜在的 40 个 obj 中的每一个设置为值 0。为什么?你的意思是它是一个归obj所有的海龟变量?
在您更新计数器的地方,您突然将名称从 it_cnt 更改为 new_id_cnt。这不会更新任何内容,这两个变量的值之间没有任何联系。