您好我有以下代码:
to go
move
play-papelvstije
play-papelvsrock
play-tijevsrock
play-tijevspapel
play-rockvspapel
play-rockvstije
end
to play-rockvspapel
ask turtles with [color = red]
[
let nearby other turtles in-radius 1
if any? nearby with [color = green]
[
set color green
]
]
end
to play-papelvstije
ask turtles with [color = green]
[
let nearby other turtles in-radius 1
if any? nearby with [color = blue]
[
set color blue
]
]
end
to play-tijevsrock
ask turtles with [color = blue]
[
let nearby other turtles in-radius 1
if any? nearby with [color = red]
[
set color red
]
]
end
to play-rockvstije
ask turtles with [color = red]
[
let nearby other turtles in-radius 1
if any? nearby with [color = blue]
[
set color red
]
]
end
to play-papelvsrock
ask turtles with [color = green]
[
let nearby other turtles in-radius 1
if any? nearby with [color = red]
[
set color green
]
]
end
to play-tijevspapel
ask turtles with [color = blue]
[
let nearby other turtles in-radius 1
if any? nearby with [color = green]
[
set color blue
]
]
end
所以你可以看到,我按照这个顺序运行这个程序play-papelvstije play-papelvsrock play-tijevsrock,play-tijevspapel,play-rockvspapel,play-rockvstije,所以在运行模拟时我得到了一个斜面结果,因为第一个运行的命令是最后有一个增加的人口,所以我想要做的是找到一种方法来运行这个程序,但只有一个命令。我试过" foreach"和"地图"命令,但我还没有得到结果。 Anny的建议?
答案 0 :(得分:1)
一个解决方案可以是不直接问蓝龟,但是对于所有的海龟......就像
to setup
clear-all
create-turtles 100 [
set color red
setxy random-pxcor random-pycor
]
ask n-of 10 turtles [
set color green
]
ask n-of 10 turtles with [color = red][
set color blue
]
reset-ticks
end
to go
move
changeColor
tick
end
to move
ask turtles [
rt random-float 90
lt random-float 90
fd 1
]
end
to changeColor
ask turtles [
let mycolor color
let nearby other turtles in-radius 1
if mycolor = blue [
if any? nearby with [color = green]
[
set color blue
]
if any? nearby with [color = red]
[
set color red
]
]
if mycolor = green [
if any? nearby with [color = red]
[
set color green
]
if any? nearby with [color = blue]
[
set color blue
]
]
if mycolor = red [
if any? nearby with [color = red][
if any? nearby with [color = blue]
[
set color red
]
if any? nearby with [color = green]
[
set color green
]
]
]
]
end