关于交通灯管理系统设计的思考:
一、需求:
1、异步随机生成按照各个路线行驶的车辆。
2、信号灯忽略黄灯,只考虑红灯和绿灯。
3、应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。
4、具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑。
注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆。
5、每辆车通过路口时间为1秒(提示:可通过线程Sleep的方式模拟)。
6、随机生成车辆时间间隔以及红绿灯交换时间间隔自定,可以设置。
7、不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。
二、需求分析:
1、对于一条单行道(如南北)的车辆来说,它有三个方向的需求:由南向北(直行)、由南向西(左拐)、由南向右(右拐)
而对于一个十字路口,东西、南北各有两个单行道,故一共有12个方向的需求。
2、简化处理:
(1)、由于在车辆的右拐不受信号灯控制,因为右拐的车辆与其当前垂直的车辆方向并没有方向上的冲突,故可以在当前垂直
方向上的车辆直行的时候同时允许右拐。 故,忽略右拐。因而同一个单行道上的车辆只有两种需求(直行和左拐弯)
(2)、对于同一单行道上的直行和左拐,交替考虑。
(3)、由于由南而来 和由北而来的车流 的对称性,我们只考虑其