交通灯模拟报告

合集下载

模电实训报告交通灯

模电实训报告交通灯

一、实训背景随着城市化进程的加快,交通拥堵问题日益突出。

传统的交通信号灯控制系统由于响应速度慢、智能化程度低等问题,已无法满足现代交通管理的需求。

为了提高交通效率,减少交通事故,模拟交通灯控制系统应运而生。

本次实训旨在通过模拟交通灯控制系统的设计与实现,加深对模拟电子技术(模电)的理解和应用,提高学生的实践能力和创新能力。

二、实训目的1. 理解交通灯控制系统的基本原理和设计方法。

2. 掌握模拟电路的设计与调试技术。

3. 培养学生的团队协作能力和创新能力。

4. 提高学生对模拟电子技术的应用能力。

三、实训内容1. 系统需求分析根据交通灯控制系统的实际需求,确定系统功能如下:- 红灯亮时,禁止车辆和行人通行。

- 绿灯亮时,允许车辆和行人通行。

- 黄灯亮时,警告车辆和行人准备停车。

系统应具备以下特性:- 实时性:系统响应时间应小于1秒。

- 可靠性:系统应能长时间稳定运行。

- 可扩展性:系统应能方便地增加新的交通灯控制功能。

2. 系统设计根据系统需求,设计模拟交通灯控制系统如下:- 硬件设计硬件部分主要包括以下模块:- 模拟信号发生器:产生红、黄、绿灯信号。

- 比较器:用于比较信号发生器产生的信号,并输出控制信号。

- 驱动电路:用于驱动交通灯的LED灯。

- 传感器:用于检测车辆和行人。

- 软件设计软件部分主要包括以下功能:- 信号生成:根据预设的时间间隔产生红、黄、绿灯信号。

- 信号处理:对信号进行放大、滤波等处理。

- 控制逻辑:根据信号处理结果,控制交通灯的亮灯状态。

3. 系统实现根据设计图纸,搭建模拟交通灯控制系统硬件电路,并编写相应的软件程序。

在Keil uVision环境下进行编程,使用C51语言编写程序,并在PROTEUS仿真软件中进行仿真调试。

4. 系统测试将搭建好的硬件电路与仿真软件相结合,进行系统测试。

测试内容包括:- 信号生成是否稳定可靠。

- 控制逻辑是否正确。

- 系统响应时间是否符合要求。

实验报告二-模拟交通灯实验

实验报告二-模拟交通灯实验

实验报告二模拟交通灯实验序号:5 姓名: 学号:11121549一、实验目的1. 学习在PC机系统中扩展简单I/O 接口的方法。

2. 进一步学习编制数据输出程序的设计方法。

3. 学习模拟交通灯控制的方法。

二、实验内容用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。

三、电路图四、实验程序框图五、编程CODE SEGMENTASSUME CS:CODEORG 1200HSTART: MOV AL,80HMOV DX,PTDOUT DX,AL ;设置8255各口为输出模式,工作在方式0MOV DX,PTBMOV AL,0FFHOUT DX,AL ;所有黄灯熄灭MOV DX,PTCMOV AL,0F0HOUT DX,AL ;所有红灯全亮CALL DELAY3 ;延时LOP: MOV AL,10100101BMOV DX,PTCOUT DX,AL ;点亮1,3路口绿灯,点亮2,4路口红灯CALL DELAY ;延时MOV AL,11110101BOUT DX,AL ;熄灭1,3路口绿灯MOV CX,8H ;1,3路口黄灯灯闪烁8次LOP1: MOV DX,PTBMOV AL,10101111BOUT DX,AL ;1,3路口黄灯亮CALL DELAY2 ;延时MOV AL,0FFHOUT DX,AL ;1,3路口黄灯灭CALL DELAY2 ;延时LOOP LOP1 ;循环8次MOV DX,PTCMOV AL,0F0HOUT DX,AL ;所有红灯全亮CALL DELAY3 ;延时MOV AL,01011010BOUT DX,AL ;点亮2,4路口绿灯,点亮1,3路口红灯CALL DELAY ;延时MOV AL,11111010BOUT DX,AL ;熄灭2,4路口绿灯MOV CX,8H ;2,4路口黄灯灯闪烁8次LOP2: MOV DX,PTBMOV AL,01011111BOUT DX,AL ;2,4路口黄灯亮CALL DELAY2MOV AL,0FFHOUT DX,AL ;2,4路口黄灯灭CALL DELAY2LOOP LOP2MOV DX,PTCMOV AL,0F0HOUT DX,AL ;所有红灯亮CALL DELAY3JMP LOPDELAY: PUSH AX ;延时子程序1PUSH CXMOV CX,0030HL1: CALL DELAY2LOOP L1POP CXPOP AXRETDELAY2: PUSH CX ;延时子程序2MOV CX,0D000HL2: LOOP L2POP CXRETDELAY3: PUSH CX ;延时子程序3MOV CX,0FFFFHL3: LOOP L3POP CXRETCODE ENDSEND START六、调试过程:1. 按连线图连接好,检查无误后打开实验箱电源。

交通灯控制实验报告

交通灯控制实验报告

交通灯控制实验报告交通灯控制实验报告引言:交通灯是城市交通管理的重要组成部分,通过对交通流量的控制,有效地维护交通秩序和安全。

本次实验旨在通过搭建一个简单的交通灯控制系统,探究不同交通流量下的信号灯变化规律,并分析其对交通流畅度和效率的影响。

实验装置:实验装置由红、黄、绿三种颜色的LED灯组成,分别代表红灯、黄灯和绿灯。

通过按键控制,可以切换不同灯光的显示状态。

在实验过程中,我们将模拟不同交通流量情况下的信号灯变化。

实验过程:1. 低交通流量情况下:首先,我们模拟低交通流量情况。

设置红灯时间为20秒,绿灯时间为30秒,黄灯时间为5秒。

在这种情况下,红灯的时间较长,确保道路上的车辆能够安全通过。

绿灯时间相对较短,以充分利用交通资源,提高交通效率。

黄灯时间较短,用于过渡信号灯变化。

2. 中等交通流量情况下:接下来,我们模拟中等交通流量情况。

设置红灯时间为30秒,绿灯时间为40秒,黄灯时间为5秒。

在这种情况下,红灯时间相对较长,确保道路上的车辆能够顺利通过。

绿灯时间适中,以保持交通的流畅性。

黄灯时间依然较短,用于过渡信号灯变化。

3. 高交通流量情况下:最后,我们模拟高交通流量情况。

设置红灯时间为40秒,绿灯时间为50秒,黄灯时间为5秒。

在这种情况下,红灯时间最长,确保道路上的车辆能够完全通过。

绿灯时间相对较长,以缓解交通压力,提高交通效率。

黄灯时间仍然较短,用于过渡信号灯变化。

实验结果:通过实验观察,我们发现不同交通流量下的信号灯变化对交通流畅度和效率有着明显的影响。

在低交通流量情况下,红灯时间较长,确保车辆安全通过,但可能导致交通效率稍有降低。

在中等交通流量情况下,信号灯的设置更加平衡,保证了交通的流畅性和效率。

而在高交通流量情况下,红灯时间最长,确保车辆完全通过,但也导致交通效率相对较低。

结论:通过本次实验,我们得出了以下结论:交通灯的设置应根据不同交通流量情况进行合理调整,以保证交通的流畅性和效率。

十字路口的交通灯实训报告

十字路口的交通灯实训报告

十字路口的交通灯实训报告一、实训目的本次实训的目的是通过模拟十字路口的交通情况,了解交通灯的设置原理及其对交通流的管理作用,从而增强我们对交通灯的认识和应用能力。

二、实训环境我们选择在校园内模拟一座真实的十字路口,设置交通灯进行实训。

该校内的十字路口为主要通行路段,交通流较大,是进行交通灯实训的理想场所。

三、实训步骤1. 实地调研:在实训开始前,我们首先进行了对实际交通情况的调研。

观察了真实交通中车辆行驶的速度、流量和行驶时的交通规则遵守情况,以此为依据来进行后续的实训设置。

2. 设计交通灯方案:根据调研结果,我们制定了相应的交通灯设置方案。

根据不同方向的车流量大小,我们合理安排了绿灯时间的长短,确保交通流畅。

3. 搭建实训模型:在选择的十字路口上,我们搭建了实训模型,设置了红灯、绿灯、黄灯,并设置了指示牌和标识牌,使实训的模型更加真实可信。

4. 进行实训操作:在实训模型搭建完成后,我们按照所制定的交通灯方案进行实训操作。

通过控制交通灯的信号,观察不同方向车辆的行驶情况及交通的流畅程度。

五、实训成果与总结通过本次实训,我们获得了以下成果与总结:1. 交通灯对交通流的控制作用确实很大。

通过控制绿灯时间的长短,我们观察到不同方向的车辆如何按照交通灯信号有序行驶,整体交通秩序明显得到了改善。

2. 交通灯设置需要结合实际情况进行合理安排。

根据我们在实地调研中观察到的交通情况,我们合理安排绿灯的时间,并设置了黄灯的时间缓冲,以确保车辆能够逐渐停车避让,确保行车安全。

3. 交通灯实训有助于我们增强交通安全意识。

通过亲身实践控制交通灯,我们深刻体会到了交通灯对交通秩序的重要性,也更加明白自己在交通中应该如何遵守交规,安全驾驶。

通过本次实训,我们对交通灯有了更深入的了解,并且提高了自己在交通安全方面的素养。

希望这次实训能够对我们今后的出行和驾驶提供借鉴和参考。

PLC交通灯实验报告

PLC交通灯实验报告

十字路口交通灯控制的模拟实验报告一、实验目的1、熟练使用各基本指令,定时器,计数器,内部指令等。

2、根据控制要求,掌握PLC的编程方法和程序调试方法。

3、掌握交通灯的实验设计与三菱PLC的连线方法。

二、实验要求交通灯模拟控制实验区中,下框中的南北红、黄、绿灯R、Y、G分别接主机的输出点Y2、Y1、Y0,东西红、黄、绿灯R、Y、G分别接主机的输出点Y5、Y4、Y3,模拟南北向行驶车的灯接主机的输出点Y6,模拟东西向行驶车的灯接主机的输出点Y7;下框中的SD接主机的输入端X0。

上框中的东西南北三组红绿黄三色发光二极管模拟十字路口的交通灯。

信号灯受一个启动开关控制,当启动开关接通时,信号灯系统开始空座,且先南北红灯亮,东西绿灯亮。

当启动开关断开时,所有信号灯都熄灭。

南北红灯亮维持25秒,在南北红灯亮的同时东西绿灯也亮,并维持20秒。

到20秒时,东西绿灯闪亮,闪亮3秒后熄灭。

在东西绿灯熄灭时,东西黄灯亮,并维持2秒。

到2秒时,东西黄灯熄灭,东西红灯亮,同时,南北红灯熄灭,绿灯亮。

东西红灯亮维持30秒。

南北绿灯亮维持25秒,然后闪亮3秒后熄灭。

同时南北黄灯亮,维持2秒后熄灭,这时南北红灯亮,东西绿灯亮。

周而复始。

三、程序设计步骤1、过程分析:过程一:东西向车行驶 2、设置定时器 当司机看到红灯变为绿灯的时候需要有时间反应,启动车辆等。

因此在车子行驶和交通灯变化之间设置1s 的间隔。

②设置T22、T222、T221、T223的原因是:T2和T7只能控制交通灯的闪亮时间,并不能使其控制。

T22一个定时器并不能同时控制东西绿灯与南北绿灯的闪烁,要分别设置控制器,所以通过T22、T222的分别作用,使东西绿灯与南北绿灯分别在高、低电平交替的时候闪亮。

南北红灯亮25s东西向车行驶东西绿灯亮20s →东西绿灯闪2s →东西黄灯亮2s 南北绿灯亮25s →南北绿灯闪3s →南北黄灯亮2s南北向车行驶 东西红灯亮30sT0: 南北红灯亮25sT6: 东西绿灯亮20s T22:东西绿灯闪烁 T1: 南北绿灯亮25sT7: 东西绿灯闪亮2s T222:南北绿灯闪烁 T2: 南北绿灯闪亮3sT10: 东西向车行驶22s T221:东西绿灯闪烁的断点 T3: 南北黄灯亮2s T11: 南北向车行驶27s T223:南北绿灯闪烁的断点T4: 东西红灯亮30s T12: 延迟1sT5: 东西黄灯亮2s T13: 延迟1s输入X0:启动开关输出Y40: 南北绿灯Y43: 东西绿灯Y41: 南北黄灯Y44: 东西黄灯Y42: 南北红灯Y45: 东西红灯Y46: 南北向车行驶Y47: 东西向车行驶4、按照设置的I/O分配进行接线。

交通灯实验报告

交通灯实验报告

交通灯实验报告交通灯实验报告引言:交通灯是城市交通管理中不可或缺的一部分,它通过红、黄、绿三种信号灯的变化来引导车辆和行人的通行。

本次实验旨在通过观察交通灯的工作原理和效果,了解交通灯在交通管理中的重要性。

实验目的:1. 观察交通灯的信号灯变化规律;2. 分析交通灯对车辆和行人通行的引导作用;3. 探讨交通灯在交通管理中的优势和不足。

实验过程:在实验室中,我们使用了一套模拟交通灯系统进行实验。

该系统包括红、黄、绿三种信号灯和相应的控制器。

首先,我们观察了交通灯的信号灯变化规律。

根据实验室提供的资料,红灯表示停止,黄灯表示准备,绿灯表示通行。

交通灯的变化规律是:红灯亮→绿灯亮→黄灯亮→红灯亮。

这个变化过程是有序的,为车辆和行人提供了明确的信号。

接下来,我们进行了交通灯对车辆和行人通行的引导实验。

在实验室中,我们设置了一段模拟道路和人行横道,并安装了交通灯。

通过控制器,我们模拟了不同的交通情况,观察交通灯对车辆和行人通行的影响。

实验结果显示,当红灯亮起时,车辆停止通行,行人等待过马路;当绿灯亮起时,车辆可以通行,行人可以过马路;当黄灯亮起时,车辆应减速停车,行人应尽快过马路。

交通灯的引导作用使得车辆和行人的通行更加有序和安全。

讨论:交通灯作为一种交通管理工具,具有一定的优势和不足。

首先,交通灯通过明确的信号灯变化规律,为车辆和行人提供了明确的指示,减少了交通事故的发生。

其次,交通灯可以根据交通流量的变化进行智能调控,提高道路的通行效率。

此外,交通灯还可以与其他交通设施相结合,形成综合交通管理系统,进一步提升交通管理水平。

然而,交通灯也存在一些不足之处。

首先,当交通流量较大时,交通灯的信号周期较长,可能导致车辆和行人等待时间过长,影响通行效率。

其次,交通灯对车辆和行人的通行进行了简化处理,不能完全满足各种交通情况的需求。

例如,在某些情况下,行人可能需要额外的通行时间,以确保安全过马路。

结论:通过本次实验,我们深入了解了交通灯的工作原理和效果。

交通灯实训报告

交通灯实训报告

交通灯实训报告交通灯实训报告一、实训背景交通灯是指在道路上用以指示车辆、行人等交通参与者行驶和通行的信号装置。

为了提高学生对于交通安全的认知和意识,我校在学生课程中设置了交通灯实训环节。

二、实训目的1. 增强学生对于交通规则和安全意识的认知;2. 培养学生遵守交通规则和安全驾驶的习惯;3. 提高学生的应急反应能力。

三、实训内容1. 介绍交通灯基本知识:红灯停,绿灯行,黄灯警示;2. 模拟不同情况下的交通信号控制:直行,左转,右转等;3. 学习如何正确使用人行横道线和斑马线。

四、实训过程1. 理论教育在开始实践之前,首先需要进行理论教育。

老师向同学们介绍了红绿灯的基本知识,并详细解释了每个信号颜色代表什么含义。

同时还向同学们介绍了如何正确使用人行横道线和斑马线。

2. 实践操作在理论教育之后,同学们开始进行实践操作。

老师安排了不同的情况,让同学们模拟交通信号控制。

比如:直行,左转,右转等。

同时,老师还会模拟交通事故场景,让同学们学习如何正确应对。

3. 实践总结实践结束后,老师对同学们进行了总结。

他强调了正确使用交通信号的重要性,并提醒同学们在日常生活中要时刻注意交通安全。

五、实训效果经过一次次的实践操作和理论教育,同学们的交通安全意识得到了明显提高。

他们能够更加自觉地遵守红绿灯规定,并且在人行横道线和斑马线上也有了更加规范的行为表现。

六、存在问题虽然本次实训取得了一定的效果,但是仍然存在一些问题。

比如:有些同学对于红绿灯的含义仍然不够清楚;有些同学在模拟情境中反应较慢等。

七、改进措施针对存在的问题,我们需要采取一些改进措施。

比如:加强对于红绿灯基本知识的教育;增加实践操作的时间,让同学们更加熟练掌握交通信号控制技能等。

八、实践体会通过这次实践,我深刻认识到了交通安全的重要性。

只有遵守交通规则,才能保证自己和他人的安全。

同时,我也发现自己在日常生活中存在一些不规范的行为,需要及时改正。

九、结语本次交通灯实训为同学们提供了一个很好的交通安全教育平台。

十字路口的交通灯实训报告

十字路口的交通灯实训报告

十字路口的交通灯实训报告交通灯是指在道路交通中为调节行人和车辆通行,保障交通安全而设置的信号装置。

在十字路口,交通灯的作用尤为重要,可以有效地控制车辆和行人的通行顺序,减少交通事故的发生。

本实训报告将对一个十字路口的交通灯进行详细分析和讨论,以了解其工作原理和实际运行情况。

首先,一个标准的十字路口交通灯通常由三个颜色的信号灯组成,分别为红灯、黄灯和绿灯。

各种信号的含义如下:- 红灯:表示停车,车辆和行人必须停下等待。

- 黄灯:表示准备停车,车辆和行人应该尽快停车准备等待。

- 绿灯:表示通行,车辆和行人可以通过路口。

在十字路口,交通灯按照特定的时间间隔进行变换。

一般来说,红灯持续时间最长,黄灯次之,绿灯最短。

这样的设置是为了同时保证交叉方向上车辆和行人的通行,避免交通堵塞和事故的发生。

除了基本的信号灯外,一些复杂的十字路口还会设置左转灯和直行灯,以提供更多的交通指示。

例如,在某些路口,绿灯可能只是左转和直行车辆的通行信号,而红灯则是右转车辆的停车信号。

这样可以减少车辆之间的冲突并提高交通效率。

交通灯的工作原理是通过电子控制系统实现的。

通过计时器和传感器,控制系统可以确定何时切换信号,并为不同方向的车辆和行人提供适当的通行时间。

这个控制系统通常由交通管理部门进行监控和调整,以适应实际的交通情况。

然而,在实际情况中,由于交通流量的变化以及行人的不规则行为,交通灯的控制并不总是完美的。

因此,一些路口还配备了交警进行指挥,以进一步确保交通的安全和顺畅。

通过这次实训,我深刻认识到交通灯在保障交通安全方面的重要作用。

交通灯的设置和运行方式需要充分考虑到实际情况,以确保车辆和行人能够安全通行。

此外,我们也应该提高交通安全意识,遵守交通规则,提高道路使用效率,共同创造一个安全和谐的道路交通环境。

总之,交通灯在十字路口扮演着至关重要的角色。

它通过设定信号灯颜色和时间间隔,控制车辆和行人的通行顺序,以保障道路交通的安全和顺畅。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

合肥学院计算机科学与技术系课程设计报告2010~2011学年第一学期课程JA V A语言程序设计课程设计名称交通灯模拟程序专业班级08网络工程<1>班姓名王啸指导教师金莹郭昌建2011年9月一、需求分析随着城市汽车数量越来越多,城市的交通拥挤问题正逐渐引起人们的注意。

交通灯是交管部分管理城市交通的重要工具。

目前绝大部分交通灯其时间都是设定好的,不管是车流高峰还是低谷,红绿灯的时间都固定不变;还有一些交通灯能根据简单划分的时间段来调整时间,但控制起来都不是很灵活,这使得城市车流的调节不能达到最优。

本文所述设计正是针对这一弊端进行了改进,根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性。

二、设计1.设计思想根据设计要求首先用JAVA语言的GUI画出十字路口和交通灯设计程序界面,画出十字路口和交通灯。

可以手工设置红、绿等的时间间隔,程序按设定值自动变换每个路口的交通灯颜色。

异步随机生成按照各个路线行驶的车辆:由南向北的直行车辆由北向南的直行车辆由东向西的直行车辆由西向东的直行车辆信号灯考录黄灯、红灯和绿灯,具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻,南北向车辆与东西向车辆交替放行。

随机产生一些车辆,这些车辆遵守红灯停、绿灯行的交通规则。

生成车辆时间间隔以及红绿灯交换时间间隔自定,可以设置。

2.功能设计程序主要实现了以下三大功能:(1)设计程序界面,画出十字路口和交通灯。

这一功能主要由Java图形用户界面实现,画出十字路口和东西南北四个方向的的双向车道,交叉路口各个方向的交通灯。

(2)可以手工设置红、绿灯的时间间隔,程序按设置值自动变换每个路口交通灯的颜色。

程序界面设有三个文本框,分别可供用户输入红灯时间,绿灯时间,黄灯时间,填完各项数据之后,按下“设置”按钮,程序将根据用户填写数据调整红绿亮灯时间,在用户没有填入符合要求的数据或者没有数据填入时,程序默认的红灯亮灯时间为8秒,绿灯为10秒,黄灯为3秒。

南北方向红灯亮时,东西方向绿灯亮,南北方向绿灯亮时,东西方向红灯亮,红绿灯亮灯时间一致。

四个方向的黄灯同时亮。

(3)随机产生一些车辆,这些车辆遵守红灯停、绿灯行的交通规则随机产生小车,小车方向随机,通过type = (int) (((Math.random())*(new Date().getTime())*10)%4);Type值随机取值0,1,2,3四个整数,四个数分别各代表四个方向。

再根据不同方向选择不同的汽车图片。

图1是一个典型的十字路口示意图。

分别用0、1、2、3表明四个流向的主车道,通过分析很容易得知,在同一时间,最多只能有两个车道通行,如0、1通行时,2、3车道都会被阻断。

所以在设计红绿灯时,可以两两组合,共有两组(0-1、2-3);而各车道中车辆行驶时间按照交通灯设计时间来决定,红绿灯时间可以自行设定。

图1 十字路口交通图随意产生车辆是由设定存放车辆的list中 (list是有序的collection使用此接口能够精确的控制每个车辆插入的位置),还使用了可实现可变大小的ArrayList 数组(每个ArrayList实例都有一个容量Capacity,用于存放数组的大小,这个容量可以随着添加新车辆而自动增加)。

整个程序中用到多个线程,其中有随机产生车辆、小车行驶方向、控制小车的行驶等,通过线程的同步实现交通控制。

3.详细设计首先在面板中画固定大小的画布Image image = createImage(2000, 2000); Graphics g=image.getGraphics();,然后在画布上画出路线和红绿灯,并且把画布画在面板中。

程序中主要设计流程:图2 程序流程图以下是程序中主要设计对象:(1)每条路线上都会出现多辆车,路线上要随机增加新的车,在相应的灯绿期间车辆各行其道。

若是车运行出面板则会移除该车:if(car.getType() == 0){//由西向东的车辆if(car.getX()>2000){cars.remove(car);i--;continue;}其他方向的车辆也会按此方式移除。

(2)每条路线上随机增加新的车辆,增加到一个集合list中保存private List<Car> cars = Collections.synchronizedList(new ArrayList<Car>()) (3)每条路线上当车运行到十字路口时都会判断,都会检查对应路口的信号灯颜色如何,控制本路线的灯若为黄灯或是红灯则车辆就会停下来,若是车辆行驶停在十字路口,则其后的车经过判断必须停在后面,等待绿灯亮时继续行驶。

判断当前行驶的车前方是否有车辆停下:private boolean hasObstructor(Car car, List<Car> cars),若有循环考虑接下来运行的车辆,否则car.setX(car.getX()+/-5)或car.setY(car.getY()+/-5)小车以5像素的大小前移。

(4)控制小车运行方向:public Car() {type = (int) (((Math.random())*(new Date().getTime())*10)%4);随机产生四个方向的小车。

Im = Toolkit.getDefaultToolkit().getImage((type + 1) + ".jpg");获取小车图片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;//红灯亮greenStatus = false;yellowStatus = false;}else if(i==redTimes){j = 0;redStatus = false;greenStatus = false;yellowStatus = true;//黄灯亮}else if(i==redTimes+yellowTimes){j = 0;redStatus = false;greenStatus = true;//绿灯亮yellowStatus = false;}else if(i==redTimes+greenTimes+yellowTimes){j = 0;redStatus = false;greenStatus = false;yellowStatus = true;//黄灯亮}repaint();j++;if (i == redTimes+greenTimes+yellowTimes+yellowTimes-1)i = -1;try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}三. 调试及测试1、调试过程中遇到的主要问题及解决方法在调试过程中主要是控制小车行驶比较难以实现,起初当所有面板中静态的图片处理完成后,无法将下载的小车图片加入面板后进行运动操作,主要问题是开始把小车运动想的太简单了以为完成完成下列操作即可:(1)创建Image类的对象数组car,用来缓存要演示的小车图片,(2)利用getDocumentBase()函数方法获取图片信息,(3)再使用Thread.sleep()方法,但是当运行程序时会报错,显示找不到getDocumentBase(),原因是所做的程序是Application程序,不能使用函数getDocumentBase(),而使用 Im = Toolkit.getDefaultToolkit().getImage((type + 1) + ".jpg"),才可完成获取图片信息的功能。

2、对设计和编码的回顾讨论和分析该程序的设计主要用到以下类库:import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dialog;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.image.BufferStrategy;//处理和操作来自于网上的图片定义图像对象,双缓存import java.util.ArrayList;//实现可变大小的数组import java.util.Collections;//java.util.* 是包括集合、事件处理模式、日期时间工具等各类常用工具包import java.util.Date;import java.util.List;//list是有序的collection,使用此接口能够精确的控制每个元素插入的位置import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;程序中还多次用到线程控制,比如控制小车行驶线程CarRunThread,随机产生小车线程CarThread,控制红绿灯状态线程PaintThread等。

相关文档
最新文档