我有两只乌龟 - 一个补丁中的卖家和买家,他们的形状"face happy"
。
但是在我运行安装程序的界面上,如果一个补丁中有两只乌龟,我只能看到其中一只。
我的问题是,我如何编码以便查看它们。如果不可能至少在一些补丁中看到一个代理在另一个补丁中。
这是我的代码:
ask sellers
[move-to one-of patches with [not any? turtles-here]]
ask buyers
[move-to one-of patches with [not any? buyers-here]]
ask buyers [if any? sellers-here [set shape "face happy"]]
ask buyers [if not any? sellers-here [set shape "face sad"]]
ask buyers [if any? sellers-here [set color 67]]
ask sellers [if any? buyers-here [set shape "face happy"]]
ask sellers [if not any? buyers-here [set shape "face sad"]]
ask sellers [if any? buyers-here [set color 137]]
答案 0 :(得分:3)
首先,请注意,您实际上可以判断您的脸部和颜色提示是否存在。如果要同时查看两者,则需要设置透明颜色,或偏移位置,或两者。如,
ask buyers [
move-to one-of patches with [not any? buyers-here]
ifelse (any? sellers-here) [
set shape "face happy"
set color [255 0 0 125]
fd 0.45
][
set shape "face sad"
]
]
答案 1 :(得分:3)
假设补丁中心有两只乌龟补丁:
to spread-out
ask patches with [count turtles-here = 2]
[ask one-of turtles-here [
fd .25
ask one-of other turtles-here [face myself fd -0.25]]]
end
答案 2 :(得分:3)
另一个选择是让一种乌龟比另一种乌龟小,并确保较小的乌龟总是在顶部。例如,如果您为买家和卖家使用"circle"
形状,则可以set size 0.4
为卖家。然后,在您移动买家后移动卖家,或者在显示相同补丁上的买家之后执行某些操作以使每个卖家显示。如果您在所有海龟移动后为所有卖家设置了显示属性,如颜色,形状或大小,那么这应该会导致卖家出现在买家之上。
另一个选择,如果你的海龟小于补丁,将使用补丁颜色来传达信息。例如,只要同一个补丁上有两只乌龟,您就可以更改补丁颜色。或者你可以确保一种乌龟总是位于顶部(例如买家),并且只要补丁上有卖家(即使没有买家在场),也总是将补丁颜色设置为特殊值)。