You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

NetLogo教室模拟:如何为学生创建半径内家电的关联链接?

问题分析与修复方案

嘿,我帮你排查出NetLogo代码里的几个关键问题啦,这就给你修复方案:

核心错误:链接命令的单复数误用

你使用的create-link-with命令只能和单个海龟创建一对一的链接,但lights in-radius 4返回的是一个海龟集合(所有在学生半径4范围内的灯),这时候必须用复数形式的create-links-with(注意末尾的s)来批量创建链接。fans和空调的处理也存在同样的问题。

次要问题:重复处理风扇的逻辑

你的代码里连续两次针对fans创建链接:

这会导致重复创建链接,其实半径9的范围已经包含了半径4,直接写fans in-radius 9就能覆盖所有符合条件的风扇,无需重复执行。

修正后的完整代码示例

我帮你补全了setup里缺失的设备创建逻辑,同时修正了链接代码:

额外优化建议

如果你的学生是随机时间进入并就座(而不是在setup阶段直接就位),那链接创建逻辑不应该放在setup里,而是要在学生到达座位后再触发。比如可以写一个专门的学生入席过程:

之后在go过程里配合随机概率调用这个过程,模拟学生分批进入的场景。

内容的提问来源于stack exchange,提问作者Abdullah Al Momin

火山引擎 最新活动