从示例开始:
to make-new-car [freq x y head ]
if (random-float 100 < freq) and not any? turtles-on patch x y [
create-cars 1 [
setxy x y
set heading head
set color one-of base-colors
]
]
end
但是我希望有更多的汽车品种 - 而不仅仅是一个汽车品种.我也希望保持简单并且做到这一点(第一个功能与上面的相同):
to make-new-car [freq x y head ]
if (random-float 100 < freq) and not any? turtles-on patch x y [
create-cars 1 [
setxy x y
set heading head
set color one-of base-colors
]
]
end
to make-new-carSE [freq x y head ]
if (random-float 100 < freq) and not any? turtles-on patch x y [
create-carsSE 1 [
setxy x y
set heading head
set color one-of base-colors
]
]
end
并正在冗余重复只是不同品种的名字,我婉像做同样的程序这(把品种名称作为参数,并与create-命令使用):
to make-new-car [freq x y head breed-name]
if (random-float 100 < freq) and not any? turtles-on patch x y [
create-breed-name 1 [
setxy x y
set heading head
set color one-of base-colors
]
]
end
然而,Netlogo抱怨create-breed-name没有定义.有任何想法吗 ?
要做到这一点最简单的方法是做create-turtles那么set breed breed-name.这是一个例子.
breed [ testers tester ]
to make-turtles [ breed-name ]
create-turtles 1 [ set breed breed-name ]
end
to setup
make-turtles testers
end
Run Code Online (Sandbox Code Playgroud)
你也可以run在构造一个合适的字符串后做一些事情,但我认为上面的内容更直接.