




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能交通灯源代码tl.h /头文件#include#include#include#include#include#include#define len sizeof(car)#define null 0#define wr 22#define wg 8#define creat_time 150#define change_time 300#define max_car 4typedef struct node int x,y; int flag,flag1; struct node *next;car;void initial(void);void welcome(void);void core(void);void goodbye(void);void end(void);void drawcar(int x, int y,int flag);void graphstore (void *buffer);void shift (int flag,int *car1,int *car2,int *car3,int *car4,int *car5,int x,int y);void triangle(int a,int b,int c,int d,int e,int f,int g,int h);void arrowx(int x,int y,int color);void arrowz(int x,int y,int color);void arrows(int x,int y,int color);void arrowy(int x,int y,int color);void draw_tree (int x,int y);void draw_house(int x,int y);void drawline(void);void road(void);void light(void);void tree(void);void house(void);void clear(void);void initial(void) /初始化图形 int gdriver=detect,gmode; initgraph(&gdriver,&gmode,); cleardevice(); void welcome(void) /欢迎界面的函数 int i; int button=0,x=-20,y=-10,x1=-20,y1=-10; setbkcolor(blue); setfillstyle(1, darkgray); bar(getmaxx()/2-200,300,getmaxx()/2+200,450); setcolor(green); setfillstyle(1,green); pieslice(getmaxx()/2-100,375,0,360,60); setcolor(red); settextstyle(1,0,4); outtextxy(getmaxx()/2-140,355,enter); setfillstyle(1,red); pieslice(getmaxx()/2+100,375,0,360,60); setcolor(green); settextstyle(1,0,4); outtextxy(getmaxx()/2+70,355,exit); for(i=1;i=8;i+) setwritemode(xor_put); setcolor(magenta); settextstyle(1,0,i); outtextxy(50+23*i,10+4*i,welcome); delay(300); settextstyle(1,0,i); outtextxy(50+23*i,10+4*i,welcome); setwritemode(copy_put); setcolor(yellow); settextstyle(1,0,9); outtextxy(130,40,welcome); for(i=1;i=180&x=355&y=390&x=355&y=580&x=300&y330) break; cleardevice(); for(i=1;i=8;i+) setwritemode(xor_put); setcolor(magenta); settextstyle(1,0,i); outtextxy(50+19*i,100+3*i,byebye); delay(300); settextstyle(1,0,i); outtextxy(50+19*i,100+3*i,byebye); setwritemode(copy_put); setcolor(yellow); settextstyle(1,0,9); outtextxy(160,130,byebye); getch();void end(void) /结束关闭图像界面 getch(); closegraph();void drawcar(int x, int y,int flag) /画车的函数 int car118,car210,car310,car410,car510; car10=x-10; car11=y-3; car12=x-6; car13=y-5; car14=x+6;car15=y-5; car16=x+10;car17=y-3; car18=x+10; car19=y+3; car110=x+6;car111=y+5; car112=x-6;car113=y+5; car114=x-10;car115=y+3; car116=x-10;car117=y-3; car20=x-5; car21=y-4; car22=x+5; car23=y-4; car24=x+3; car25=y-2; car26=x-3; car27=y-2; car28=x-5; car29=y-4; car30=x-5; car31=y+4; car32=x+5; car33=y+4; car34=x+3; car35=y+2; car36=x-3; car37=y+2; car38=x-5; car39=y+4; car40=x-5; car41=y+4; car42=x-5; car43=y-4; car44=x-3; car45=y-2; car46=x-3; car47=y+2; car48=x-5; car49=y+4; car50=x+5; car51=y+4; car52=x+5; car53=y-4; car54=x+3; car55=y-2; car56=x+3; car57=y+2; car58=x+5; car59=y+4; shift(flag,car1,car2,car3,car4,car5,x,y); setlinestyle(0,0,1); setcolor(darkgray); drawpoly(9,car1); setfillstyle(1,blue); fillpoly(9,car1); setlinestyle(0,0,1); setcolor(blue); drawpoly(5,car2); drawpoly(5,car3); drawpoly(5,car4); drawpoly(5,car5); setfillstyle(1,white); fillpoly(5,car2); fillpoly(5,car3); fillpoly(5,car4); fillpoly(5,car5);void graphstore (void *buffer) /将各个方向的小车画出,保存在buffer指向的区域内的函数 unsigned s5; int i; cleardevice(); setfillstyle(1,darkgray); bar(90,95,110,105); bar(189,190,210,210); bar(290,290,310,310); bar(394,390,406,410); bar(250,250,270,270); for(i=0;i4;i+) drawcar(i+1)*100,(i+1)*100,i); s0=imagesize(90,95,110,105); s1=imagesize(189,190,210,210); s2=imagesize(290,290,310,310); s3=imagesize(394,390,406,410); s4=imagesize(250,250,270,270); for(i=0;i5;i+) bufferi=malloc(si); getimage(90,95,110,105,buffer0); getimage(189,190,210,210,buffer1); getimage(290,290,310,310,buffer2); getimage(394,390,406,410,buffer3); getimage(250,250,270,270,buffer4); cleardevice();void shift (int flag,int *car1,int *car2,int *car3,int *car4,int *car5,int x,int y) /将画出的小车通过旋转画出各个方向的小车 int i,mid; float a,b; switch(flag) case 0 : a=1; b=0; break; case 1 : a=b=0.70710678; break; case 2 : a=0.70710678; b=-a; break; case 3 : a=0; b=1; break; for(i=0;i18;i+=2) mid=car1i; car1i=a*(car1i-x)-b*(car1i+1-y)+x; car1i+1=b*(mid-x)+a*(car1i+1-y)+y; for(i=0;i10;i+=2) mid=car2i; car2i=a*(car2i-x)-b*(car2i+1-y)+x; car2i+1=b*(mid-x)+a*(car2i+1-y)+y; for(i=0;i10;i+=2) mid=car3i; car3i=a*(car3i-x)-b*(car3i+1-y)+x; car3i+1=b*(mid-x)+a*(car3i+1-y)+y; for(i=0;i10;i+=2) mid=car4i; car4i=a*(car4i-x)-b*(car4i+1-y)+x; car4i+1=b*(mid-x)+a*(car4i+1-y)+y; for(i=0;i10;i+=2) mid=car5i; car5i=a*(car5i-x)-b*(car5i+1-y)+x; car5i+1=b*(mid-x)+a*(car5i+1-y)+y; void triangle(int a,int b,int c,int d,int e,int f,int g,int h) /画三角形,修饰道路 int s8; s0=a;s1=b; s2=c;s3=d; s4=e;s5=f; s6=g;s7=h; setlinestyle(0,0,1); setcolor(darkgray); drawpoly(3,s); fillpoly(3,s);void arrowx(int x,int y,int color) /向下的箭头 int s16; s0=x-3; s1=y; s2=x-6; s3=y; s4=x; s5=y+6; s6=x+6; s7=y; s8=x+3; s9=y; s10=x+3;s11=y-6; s12=x-3;s13=y-6; s14=x-3; s15=y; setcolor(color); setfillstyle(1,color); drawpoly(7,s); fillpoly(7,s);void arrowz(int x,int y,int color) /向坐的箭头 int s16; s0=x; s1=y+3; s2=x; s3=y+6; s4=x-6; s5=y; s6=x; s7=y-6; s8=x; s9=y-3; s10=x+6;s11=y-3; s12=x+6;s13=y+3; s0=x; s1=y+3; setcolor(color); setfillstyle(1,color); drawpoly(7,s); fillpoly(7,s);void arrows(int x,int y,int color) /向上的箭头 int s16; s0=x-3; s1=y; s2=x-6; s3=y; s4=x; s5=y-6; s6=x+6; s7=y; s8=x+3; s9=y; s10=x+3;s11=y+6; s12=x-3;s13=y+6; s14=x-3; s15=y; setcolor(color); setfillstyle(1,color); drawpoly(7,s); fillpoly(7,s);void arrowy(int x,int y,int color) /向右的箭头 int s16; s0=x; s1=y+3; s2=x; s3=y+6; s4=x+6; s5=y; s6=x; s7=y-6; s8=x; s9=y-3; s10=x-6;s11=y-3; s12=x-6;s13=y+3; s0=x; s1=y+3; setcolor(color); setfillstyle(1,color); drawpoly(7,s); fillpoly(7,s);void draw_tree (int x,int y) /画树函数 int tree24; tree0=x;tree1=y; tree2=x-8;tree3=y+6; tree4=x-2;tree5=y+6; tree6=x-10;tree7=y+12; tree8=x-2;tree9=y+12; tree10=x-14;tree11=y+20; tree12=x+14;tree13=y+20; tree14=x+2;tree15=y+12; tree16=x+10;tree17=y+12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建省市场监督管理局直属事业单位招聘高层次人才20人模拟试卷附答案详解(黄金题型)
- 2025年甘肃省兰州市肺科医院招聘工作人员14人考前自测高频考点模拟试题及参考答案详解一套
- 2025年上海市城市规划设计研究院招聘高层次专业技术人员考前自测高频考点模拟试题附答案详解(突破训练)
- 2025河南中医药大学人事代理工作人员招聘13人模拟试卷及完整答案详解一套
- 2025广西玉林市北流市大伦镇便民服务中心招聘公益性岗位模拟试卷及一套参考答案详解
- 2025湖南凤凰县直机关事业单位选调40人考前自测高频考点模拟试题及答案详解(典优)
- 2025年甘肃科源电力集团有限公司高校毕业生招聘40人(第三批)考前自测高频考点模拟试题及答案详解(新)
- 2025年滨州邹平怀远学校教师模拟试卷及参考答案详解1套
- 2025湖南郴州飞天山翠江旅游景区多岗招聘考前自测高频考点模拟试题及1套完整答案详解
- 2025年铁总服务有限公司应届高校毕业生招聘考前自测高频考点模拟试题带答案详解
- 2025贵州贵阳市投资控股集团房地产置业有限公司招聘12人考试参考题库及答案解析
- 免疫细胞治疗安全性评价-第1篇-洞察及研究
- 车间师带徒管理办法
- 桥梁工程监理工作实施方案
- 2025年秋期新教材部编人教版一年级上册道德与法治教学计划+进度表
- 服装辅料基础知识培训
- 医院门诊急诊统筹管理方案
- 国家事业单位招聘2025农业农村部国际交流服务中心招聘拟聘用人员笔试历年参考题库附带答案详解
- 2025年AI技术在项目管理中的应用洞察报告
- 胃肠外科医生进修汇报
- 慢病健康宣教课件
评论
0/150
提交评论