【发布时间】:2020-09-08 12:56:16
【问题描述】:
我是 NetLogo 的初学者,我想请一些海龟(来自不同社会阶层的学生)链接到其他海龟(学校)。我希望工薪阶层的学生寻找成绩最高的学校,同时又不贵,而且没有达到允许的最大链接数。如果所需的学校已达到允许的最大链接数,我希望学生寻找未达到允许的最大链接数的最高成就的下一所学校,依此类推。
这是代码。我收到以下消息“任何?预期的输入是代理集,但得到了海龟(学校 1)。”
breed [schools school]
breed [upperclass upperclass-student]
breed [workingclass workingclass-student]
upperclass-own [achievement enrolled? target]
workingclass-own [achievement enrolled? target]
schools-own [schoolachievement expensive? ]
to setup
clear-all
set-default-shape schools "house"
set-default-shape upperclass "person"
set-default-shape workingclass "person"
ask patches [ set pcolor 8 ]
create-schools num-of-schools [ setxy random-xcor random-ycor set schoolachievement random-normal 5 1
set expensive? one-of [ true false ] ]
create-upperclass num-of-upperclass [ set color white setxy random-xcor random-ycor set achievement
random-normal 5 1 ] ;Students from upper class have higher achievement
create-workingclass num-of-workingclass [ set color red setxy random-xcor random-ycor set achievement
random-normal 4 1 ]
end
to go
ask workingclass [
choose-school ]
end
to choose-school
if breed = workingclass [
set target one-of schools with-max [ schoolachievement ] with [ expensive? = false ] ]
if any? target with [ count link-neighbors < max-link-count ] [
create-link-with target ]
set enrolled? TRUE
end
【问题讨论】:
-
快速评论 - 我修复了您的格式(并删除了不遵循 SO 程序的标签、cmets 等)。将来,大括号格式为代码,而不是尝试使用引号。指出哪一行引发了错误也很有帮助(NetLogo 将以黄色突出显示它)
标签: netlogo