作者laechan (挥泪斩马云)
看板mud_sanc
标题[闲聊] 多节电车的实作方式
时间Mon Sep 19 13:59:30 2016
概念就是,一列电车可能有 n 节车厢,因此当它停靠在月台边时,
乘客可从每一个车厢的进出口上下车。
那麽,该如何透过现行 times_check.c 及 boat.c 设计来实作呢?
很简单,首先弄出 n 个 boat,每 1 个 boat 代表一节车厢,然後
设定相同的运作周期,这样就会一起关门→启动→停靠→开门→循环
。然後,再於每一艘 boat 设定相连通的出口即可。
撰写一个车厢继承样本,再让每一个车厢继承即可。
它的最大优点,就是每一个车厢及每一个停靠月台,都可以听到广播
,而且车厢易於增加及缩减,并做出各种设定。
缺点就是,times_check 在同一时间得驱动 n 个车厢。
那另一个做法就是「只驱动火车头」的部份,然後想办法让它模拟出
n 个车厢也一起驱动的效果,例如设定广播的范围到全体车厢,停靠
时亦模拟有多个进出口可进入各自的车厢等,这个较难,一般比较适
合像是邮轮火舰艇这一类的大型船只(由多个房间组成),因为通常上
下船的地方只有一个。
所以电车我会倾向采用前者的做法。依目前的 times_check 设计来说
,大概十几个都还在可接受的范围。
LAechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.224.61.240
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1474264772.A.CB2.html