[闲聊] 多节电车的实作方式

楼主: laechan (挥泪斩马云)   2016-09-19 13:59:30
概念就是,一列电车可能有 n 节车厢,因此当它停靠在月台边时,
乘客可从每一个车厢的进出口上下车。
那么,该如何透过现行 times_check.c 及 boat.c 设计来实作呢?
很简单,首先弄出 n 个 boat,每 1 个 boat 代表一节车厢,然后
设定相同的运作周期,这样就会一起关门→启动→停靠→开门→循环
。然后,再于每一艘 boat 设定相连通的出口即可。
撰写一个车厢继承样本,再让每一个车厢继承即可。
它的最大优点,就是每一个车厢及每一个停靠月台,都可以听到广播
,而且车厢易于增加及缩减,并做出各种设定。
缺点就是,times_check 在同一时间得驱动 n 个车厢。
那另一个做法就是“只驱动火车头”的部份,然后想办法让它模拟出
n 个车厢也一起驱动的效果,例如设定广播的范围到全体车厢,停靠
时亦模拟有多个进出口可进入各自的车厢等,这个较难,一般比较适
合像是邮轮火舰艇这一类的大型船只(由多个房间组成),因为通常上
下船的地方只有一个。
所以电车我会倾向采用前者的做法。依目前的 times_check 设计来说
,大概十几个都还在可接受的范围。
LAechan

Links booklink

Contact Us: admin [ a t ] ucptt.com