我的NetLogo评分系统存在问题。当乌龟超过三个方块时,我无法在分数监视器上显示增量。有人可以帮忙吗?
到目前为止我的代码:
breed [ defaults default ]
defaults-own [ new-heading ]
breed [squares1 square]
breed [squares2 square]
breed [squares3 square]
globals [
score
]
to setup-row [row colour segments]
foreach segments
[
if pycor = row * row-patches-width and
(pxcor >= col-patches-width * (item 0 ?)) and (pxcor <= col-patches-width * (item 1 ?))
[set pcolor colour]
]
end
to setup-col [col colour segments]
foreach segments
[
if pxcor = col * col-patches-width and
(pycor >= row-patches-width * (item 0 ?)) and (pycor <= row-patches-width * (item 1 ?))
[set pcolor colour]
]
end
to setup-arwels-maze
clear-all
set score 0
setup-defaults
setup-squares1
setup-squares2
setup-squares3
ask patches
[
if (pxcor >= min-pxcor and pxcor <= max-pxcor and
pycor >= min-pycor and pycor <= max-pycor)
[set pcolor black]
setup-row 8 white [[-15 15]]
setup-row 6 white [[-15 -10][10 15]]
setup-row 3 white [[-15 -10][10 15]]
setup-row 6 white [[-4 4]]
setup-row 4 white [[-6 6]]
setup-row -1 white [[-2 2]]
setup-row -3 white [[-4 4]]
setup-row 1 white [[-3 3]]
setup-row 0 white [[-15 -10][10 15]]
setup-row -4 white [[-15 -10][10 15]]
setup-row -7 white [[-15 -10][10 15]]
setup-row -6 white [[-3 -2][2 3]]
setup-row -9 white [[-3 3]]
setup-row -11 white [[-11 11]]
setup-row -13 white [[-15 15]]
setup-col 15 white [[ 0 8][-13 -4]]
setup-col 10 white [[-7 -4][0 3]]
setup-col 12 white [[ 3 4]]
setup-col 7 white [[-7.5 2][6 8]]
setup-col 3 white [[-9 -6][1 4]]
setup-col 0 white [[-3 -1]]
setup-col -3 white [[-9 -6][1 4]]
setup-col -7 white [[-7.5 2][6 8]]
setup-col -10 white [[-7 -4][0 3]]
setup-col -12 white [[ 3 4]]
setup-col -15 white [[ 0 8][-13 -4]]
]
end
to setup-defaults
create-defaults 1
[ set color yellow
set shape "default"
set size 4
setxy 2 -48
set heading 0
]
end
to setup-squares1
create-squares1 1
[
set shape "square"
set color random 14 * 10 + 5
set size 3
setxy 38 28
set heading 0
]
end
to setup-squares2
create-squares2 1
[
set shape "square"
set color random 14 * 10 + 5
set size 3
setxy -5 -8
set heading 0
]
end
to setup-squares3
create-squares3 1
[
set shape "square"
set color random 14 * 10 + 5
set size 3
setxy 40 -45
set heading 0
]
end
to move-up
ask defaults[ fd 1.00 ]
end
to move-right
ask defaults [ rt 90 ]
end
to move-down
ask defaults [ bk 1.00 ]
end
to move-left
ask defaults [ lt 90 ]
end
答案 0 :(得分:2)
要确定同一个补丁中是否存在square1作为默认值,您可以执行
ask defaults [ if (any? squares1-here) [...thenpart....][..elsepart...]]
如果你想确定在默认距离为5的范围内是否存在square1,请使用
ask defaults [if (any? squares1 in-radius 5) [....]]
我还注意到你的行
breed [squares1 square]
breed [squares2 square]
breed [squares3 square]
错了。你不能重复使用'square'。它应该是
breed [squares1 square1]
breed [squares2 square2]
breed [squares3 square3]