AnyLogic 8.8.6 培训笔记 ——上下地铁(下)

#这部分写行人上下逻辑#

预期效果: ①车到达下一批人②车到达排队的人上车

Model上下车 -下半部分视频

一、行人产生——随机去某个服务排队——等车来了后上车

1、创建目标线

2.编写上车行人逻辑

在main界面中创建如下逻辑

并创建一个行人智能体,命名为Pedestrian (动画随便,我这里是默认第一个)

再到MyAgent中创建如下逻辑,以及delay_time变量:

具体设置如下:

这样就可以实现行人产生到行人排队等候,运行看效果如下:

接下来是实现行人上车过程

初步设想:只要在车进入delay状态的时候,把线服务的时间从无限大改成指定值,离开该状态时改回无限大即可。但是运行后发现有些行人虽然车开走了但还是会继续进入,效果不理想。

进一步尝试创建了一个集合,当行人进入队列时添加进行人集合,离开或者取消时移出集合。并对线服务时间进行设置。

在MyAgent中创建集合collection,设置元素类为行人

在线服务中下对行动进行设置。

回到main界面,点击delay

便完成列车到达时行人的上车行为。(粘贴视频还得先上传很麻烦 这里不展示了)

3. 下车逻辑

下车很简单,类似上车的反向,是车到达后,从myagent中线服务里产生行人,行人随机走到两个出口。

行人逻辑为:行人生成——跳出封装——去目标出口——消失:

1、main中添加

2.myAgent中生成

MyAgent智能体中具体设置如下

※我们需要记录行人产生在哪个MyAgent中 所以再pedestrians智能体中加一个参数(myAgent)

行人得在车来后再释放,所以使用inject函数释放行人,后期在delay模块中调用inject函数释放形容

main界面中具体设置如下:

因为我们想要得到行人下车后随机去两个出口任意一个,所以需要先对出口创建一个集合

结束,运行效果如下(逃不过传视频。。。)

Model上下车 -下半部分视频

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值