- 7
- 0
- 约1.71万字
- 约 24页
- 2017-07-09 发布于湖北
- 举报
交通灯模拟程序论文概要1
合肥学院
计算机科学与技术系
课程设计报告
2012~2013学年第二学期
课程 JAVA语言 课程设计名称 交通灯模拟程序 学生姓名 吴健 学号 1104012025 专业班级 11计本四班 指导教师 张贯虹 胡春玲 2013 年 1 月
一、需求分析
随着城市汽车数量越来越多,城市的交通拥挤问题正逐渐引起人们的注意。交通灯是交管管理城市交通的重要工具。目前绝大部分交通灯,其时间都是设定好的,不管是车流高峰还是低谷,红绿灯的时间都固定不变;还有一些交通灯能根据简单划分的时间段来调整时间,但控制起来都不是很灵活,这使得城市车流的调节不能达到最优。本文所述设计正是针对这一弊端进行了改进,根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性。
二、设计
1.设计思想
根据设计要求首先用JAVA语言的GUI画出十字路口和交通灯设计程序界面,画出十字路口和交通灯。可以手工设置红、绿等的时间间隔,程序按设定值自动变换每个路口的交通灯颜色。
异步随机生成按照各个路线行驶的车辆???? 由南向北的直行车辆
??? ?由向南的车辆
????由东向信号灯黄灯红灯和绿灯具体信号灯控制逻辑与现实生活中普通交通灯控制辑相同,不考虑特殊情况下的控制南北向车辆与东西向车辆交替放行生成车辆时间间隔以及红绿灯交换时间间隔自定,可以设置type = (int) (((Math.random())*(new Date().getTime())*10)%4);Type值随机取值0,1,2,3四个整数,四个数分别各代表四个方向。再根据不同方向画出不同的圆,代表小车。
图1是一个典型的十字路口示意图。分别用1、2、3表明四个流向的主车道通过分析很容易得知,在同一时间,最多只能有两个车道通行,如、1通行时,车道都会被阻断。所以在设计红绿灯时,可以两两组合,共有组(-1、-3);而各车 Graphics g=image.getGraphics();”,然后在画布上画出路线和红绿灯,并且把画布画在面板中。
程序中主要设计流程:
图2 程序流程图
以下是程序中主要设计对象:
(1)每条路线上都会出现多辆车,路线上要随机增加新的车,if(car.getType() == 0){ //由西向东的车辆
if(car.getX()2000){
cars.remove(car);
i--;
continue; }
其他方向的车辆也会按此方式移除。
(2)每条路线上随机增加新的车辆,增加到一个集合中保存private ListCar cars = Collections.synchronizedList(new ArrayListCar())每条路线都会检查控制本路线的灯private boolean hasObstructor(Car car, ListCar cars),若有则停下,考虑接下来运行的车辆,否则car.setX(car.getX()+/-5)或car.setY(car.getY()+/-5)小车以5像素的大小前移。
(4)控制小车运行方向:public Car() {type = (int) (((Math.random())*(new Date().getTime())*10)%4);随机产生四个方向的小车。
if(type==0){
x = 0;y = 240; } //小车方向西由东
else if(type==1){
x = 1500;y = 200;} //小车方向由东向西
else if(type==2)
{ x = 235;y = 0;} //小车方向由北向南
else if(type==3)
{ x = 280;y = 1500;}//小车方向由南向北
(5)设计交通灯:每个交通灯都维护一个状态:,每个交通灯要有变亮和变黑的方法,并且能返回自己的亮黑状态。在编程处理时,只要从这组中各取出个灯,对这4个灯依次轮询变亮,与这4个灯方向对应的灯则随之一同变化,因此类中要有一个变量来记住自己相反方向的灯,在一个对象的变亮和变黑方法中,将对应方向的灯也变亮和变黑。每个灯变黑时,都伴随下一个灯的变亮public class PaintThread implements Runnable {//控制红绿灯状态线程
public void run() {
for (int i = 0; i redTimes+greenTimes+yellowTimes+yellowTimes; i++) {
if(i==0){
j = 0;
redStatus = true; //红灯
您可能关注的文档
最近下载
- 河道整治工程施工质量创优计划的实施效果评估与改进策略.docx VIP
- 水利工程质量创优方案(3篇).docx VIP
- 110kv变电站的设计毕业设计(论文).docx VIP
- 华中师范大学《C++程序设计》2020-2021学年第一学期期末试卷.pdf VIP
- 电力系统仿真:电力系统暂态仿真all.docx VIP
- 电力系统暂态稳定性仿真研究毕业设计(论文).docx VIP
- 3 浮力——液面升降问题(原卷版).docx VIP
- 核心素养视域下的初中数学单元作业设计研究.docx VIP
- 纪念红军长征90周年演讲稿(2025年最新版).pptx VIP
- 2002-2012 十年北京卷高考语文试卷深度解析.pdf VIP
原创力文档

文档评论(0)