




已阅读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年噶尔县教育系统招聘教师考试笔试试题(含答案)
- 2025年达州市农科院招聘考试笔试试题(含答案)
- 2025年医学装备相关知识培训考核题(含答案)
- 2024年民航安全隐患排查治理长效机制建设大比武指南试题及答案
- (2025)全国水利安全生产知识竞赛题库及参考答案
- 住院病案首页(2013年版)
- 《西游记》阅读单
- 某某院检验科仪器设备档案
- 家庭经济困难学生认定申请表
- 特殊人群的糖尿病管理
- 纺织品运输供货方案
- GB/T 11334-2005产品几何量技术规范(GPS)圆锥公差
- FZ/T 07013-2021绿色设计产品评价技术规范色纺纱
- 催产引产-课件
- 【社会层面】社会主义核心价值观
- 2022年基本公共卫生服务项目宣传工作计划
评论
0/150
提交评论