netlogo,如何收集信息类型以完成一个数组

时间:2016-11-29 23:14:43

标签: arrays netlogo

我见过类似的Javascript问题,但没有看到NetLogo。

我有一群海龟在屏幕上移动,相互碰撞并交换信息。我正在尝试建立一个数组,代表需要收集的不同类型的信息(即:第一个槽可能代表一个日期,第二个槽可能代表一个国家,第三个槽可能代表一个组织),因为海龟遇到其他海龟并查看turtleA是否有TurtleB需要完成其收藏的信息。

现在我已将它设置好,因此每条信息都是相同的,所有我们要检查的是你是否有足够的部分要完成。如果有意义的话,我希望让它更像是一张宾果卡,如果有意义的话:

to move-turtles
ask Implementers [
   [ifelse any? Other Turtles-here [have-info] [change-location];; if anyone     else is here, ask if they have info, otherwise, move. 
]
end

to have-info
ifelse any? turtles-here with [holdinfo > 0] [do-i-have-enough-info] [change-location]
end

to do-i-have-enough-info
ask Implementers [
ifelse holdinfo >= taskcomplexity [move-to one-of (patch-set patch 17 20 patch -17 -20 patch 17 -20 patch -17 20) set done 1 stop] [change-location];; move to   end
]
ask OtherImplementers [
ifelse holdinfo >= tcomplexity [move-to one-of (patch-set patch 17 20 patch -17 -20 patch 17 -20 patch -17 20) set done 1 stop][change-location]];; move to end
ask IMdeployed [change-location];; keep moving

end

更新: 我现在尝试为我的不同品种分配随机数组长度 -

ask Implementers [set infoarray array:from-list n-values taskcomplexity [0]]

现在我试图找到一种方法将数组项值设置为全0,直到实现者遇到已经拥有数组中特定项的值的人,此时项值将为切换到1,直到最终每个实现者都有一个完整的1s数组。

有什么想法吗?

0 个答案:

没有答案