我想创建一个“网格化”的资源世界,与中心补丁保持特定的距离,并保持这些补丁之间的距离相等。由于计算需求,我宁愿不使用海龟来创造这个斑驳的世界。我期望创造这样的东西:
同样,我想将补丁之间的距离定义为滑块工具。我徘徊使用龟格步行,然后将补丁变成不同的颜色,但有没有办法如何没有乌龟?谢谢你的任何建议!
我的完全没有工作的例子:
to setup
clear-all
ask patches [set pcolor green]
foreach [5 10 15] [
repeat 9 [
make-red-patch ?
]
]
reset-ticks
end
to make-red-patch [dist]
crt 1 [
fd dist
rt 90
while [pcolor = red] [
bk dist
rt 90
fd 2 * dist
]
set pcolor red
die
]
end
答案 0 :(得分:5)
我不确定你需要什么,首先你提到你不想使用海龟,而在你自己的回答中你没有乌龟的补丁有问题。
可能有另一种方法可以解决这个问题:
to setup
clear-all
ask patches with [pxcor mod Grid = 0 and pycor mod Grid = 0] [set pcolor red]
end
答案 1 :(得分:1)
经过更详细的搜索后,我在这里找到了答案:http://netlogo-users.18673.x6.nabble.com/Setting-up-agents-in-a-grid-formation-td4864083.html
他们考虑分发海龟,而不是补丁,然后归咎于海龟的品质。
以下是代码:
to setup
clear-all
create-turtles 1
[ let $n 0 ; actual number of turtles on this patch
let $s 0 ; current number of turtles on a side of square pattern - 1
set heading 0
ask patch-here [set pcolor red]
repeat 16 ; number of needed turtles
[ hatch 1 jump Grid ; make one turtle and move
set $n $n + 1 ; increment count of curent side
ask patch-here [set pcolor red]
if $n > $s ; if side finished...
[
right 90 set $n 0 ; turn and reset count
ask patch-here [set pcolor red]
; if headed up or down, increment side count
if heading mod 180 = 0 [ set $s $s + 1
]
]
]
die
]
end
我仍然不知道如何处理没有乌龟的1个补丁(右下角),但这个例子对我帮助很大! :)