




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计流星雨的设计功能说明:程序模拟一组流星飞向地面的情景。地面用多行#来表示,流星用大写字母不表示。程序产生一组流星(比如10个),从屏幕顶部下降飞向地面。一组流星中,每个流星的字符颜色是随机的,下降的位置是随机的,下降的速度也是随机的。一个流星下落只能去掉一个#号,当最后一行地面有#被去掉时,程序终止。C语言程序源代码:#include#include#include#includeint main() void load(char liuxin2580,char ground580,int heng10,int lie10); void echo(char out2580,int lie10,int color10); void make(char out2580,char liuxin2580,char mark10,int lie10,int heng10,int color10,int speed10,int exist10); void fall(char out2580,char liuxin2580,int speed10,char ground580,int exist10,int heng10,int lie10); void panduan(char ground580); void con(char out2580,char liuxin2580,char ground580); int exist_or(char liuxin2580); char out2580,liuxin2580,ground580,mark10; int exist10,lie10,heng10,color10,speed10; load(liuxin,ground,heng,lie); srand(int)time(0); con(out,liuxin,ground); echo(out,lie,color); while(1) make(out,liuxin,mark,lie,heng,color,speed,exist);/产生一组10个不同颜色不同字母不同下落速度的流星雨 while(1) con(out,liuxin,ground); echo(out,lie,color); panduan(ground); Sleep(1); fall(out,liuxin,speed,ground,exist,heng,lie); if(exist_or(liuxin)=0) break; return 0;void load(char liuxin2580,char ground580,int heng10,int lie10) /初始化流行数组和地面 int i1,i2; for(i1=0;i125;i1+) for(i2=0;i280;i2+) liuxini1i2= ; for(i1=0;i15;i1+) for(i2=0;i280;i2+) groundi1i2=#; for(i1=0;i110;i1+) hengi1=0; liei1=i1; void echo(char out2580,int lie10,int color10) /将out数组输出到屏幕上 int i1,i2,i3=0; COORD coord; coord.X=0; coord.Y=0; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), coord ); for(i1=0;i125;i1+) i3=0; for(i2=0;i280;i2+) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY); if(i2=liei3) if(outi1i2!= & outi1i2!=#) switch(colori3) case 0: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);break; case 1: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);break; case 2: SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);break; i3+=1; printf(%c,outi1i2); void make(char out2580,char liuxin2580,char mark10,int lie10,int heng10,int color10,int speed10,int exist10) int i1,i2,t,change,base=1; for(i1=0;i110;i1+) hengi1=0; marki1=(abs(rand()%26+65); colori1=abs(rand()%3; while(1) base=0; t=(abs(rand()%80); for(i2=0;i210;i2+) if(t=liei2) base=1; if(base=0) break; liei1=t; speedi1=(abs(rand()%4)+1; liuxin0liei1=marki1; existi1=1; for(i1=0;i110;i1+) for(i2=0;i2liei2+1) change=liei2; liei2=liei2+1; liei2+1=change; void fall(char out2580,char liuxin2580,int speed10,char ground580,int exist10,int heng10,int lie10) int i1,i2; for(i1=0;i110;i1+) if(existi1=1) for(i2=1;i2=20) if(groundhengi1-20liei1=#) liuxinhengi1liei1= ; groundhengi1-20liei1= ; existi1=0; break; int exist_or(char liuxin2580) /判断是否还有流星,如果没有就开始新的make函数 int i1,i2,t=0; for(i1=0;i125;i1+) for(i2=0;i280;i2+) if(liuxini1i2!= ) t=1; break; return t; void panduan(char ground580) /判断最后一行是否有空格 int i,a=0; for(i=0;i80;i+) if(ground4i= ) getchar(); void con(char out2580,char liuxin2580,char ground580) /将流行数组与地面数组整合到o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CNSS 012-2021健康食堂建设管理规范
- 2025广西团校〔中国(广西)国际青年交流学院〕招聘急需紧缺高层次人才2人备考考试题库附答案解析
- 2025海南省第二人民医院考核招聘事业编制人员6人备考考试题库附答案解析
- 2025上海华东师范大学药学院研究生秘书招聘1人备考考试题库附答案解析
- 2025中国人保财险开封分公司招聘备考考试题库附答案解析
- 2025辽宁营口市第四人民医院招聘劳动合同制人员10人备考考试题库附答案解析
- 2025福建厦门厦钨新能源材料股份有限公司秋季校园招聘备考考试题库附答案解析
- 掌握现代文学研究
- 丽晶品牌全面解析
- 生物等效性法规更新-洞察及研究
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 第二十四届上海市青少年计算机创新应用竞赛 python校内选拔试题及答案
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 江苏省宿迁市泗阳县2024-2025学年高二下册期末调研测试语文试题【附答案】
- 2025年《传染病防治法》综合培训试题(附答案)
- 储能电站项目实施方案
- 墙布工厂工程定制方案(3篇)
- 2025年工勤技师考试题库及答案
- 新鲜的牛肉采购合同范本
- 2025至2030年中国室内亲子游乐场行业市场评估分析及投资发展盈利预测报告
评论
0/150
提交评论