------- android培训、java培训、期待与您交流! ----------
一、交通灯管理系统的项目需求
模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:
1、异步随机生成按照各个路线行驶的车辆。
例如:
由南向而来去往北向的车辆-------直行车辆
由西向而来去往南向的车辆-------右转车辆
由东向而来去往南向的车辆-------左转车辆
。。。
2、信号灯忽略黄灯,只考虑红灯和绿灯
3、应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。
4、具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑
注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆。
5、每辆车通过路口时间为1秒(提示:可通过线程Sleep的方式模拟)
6、随机生成车辆时间间隔以及红绿灯交换时间间隔自定,可以设置。
7、不要求实现GUI,只考虑逻辑实现,可通过Log方式展现程序运行结果。
注:面向对象设计把握一个重要的经验:
谁拥有数据,谁就对外提供操作这些数据的方法。(专家模式)
例如:人在黑板上画圆,列车司机紧急刹车,售货员统计售货小票的金额,你把门关上等等。
二、面向对象的分析与设计
1、路线分析图
注:总共有12条路线,为了统一编程模型,可以假设每条路线都有一个红