流星雨的实现word文档良心出品.docx

流星雨的实现word文档良心出品.docx

ID:62712332

大小:70.14 KB

页数:4页

时间:2021-05-17

流星雨的实现word文档良心出品.docx_第1页
流星雨的实现word文档良心出品.docx_第2页
流星雨的实现word文档良心出品.docx_第3页
流星雨的实现word文档良心出品.docx_第4页
资源描述:

《流星雨的实现word文档良心出品.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、流星雨的实现1设计要求与功能介绍:编写程序来模拟一组流星飞向地面的情景。地面用多行#来表示,流星用大写字母来表示。程序产生一组流星(比如10个),从屏幕顶部下降飞向地面。一组流星中,每个流星的字符颜色是随机的,下降的位置是随机的,下降的速度也是随机的。一个流星下落只能去掉一个##,当最后一行地面有#被去掉时,程序终止。2:设计,国路1。列的字符数组。上面8124行首先定义二维数组screen表示地面和天空,此数组是一个的行表示天空,数组单元的值是空格;最下面的几行(如5行)表示地面,数组单元的值是‘#';整个屏幕的大小是80*25,即25行80歹U,为了在输出

2、最后一行时不换行滚屏,程序只能利用上面的24行空间。把数组定义成81列的目的是,每行的最后字符赋值成‘’,就可以按照字符串的方式输出每行文本了。2编写的。程序在下降过程中,程序必须知道流星的字符、颜色、位置、速度,因此程序需要定义以下几个数组变量:存放流星字符的数组,存放流星字符颜色的数组,存放流星行位置的数组,存放流星列位置的数组,存放流星下降速度的数组。3。行21screen输出时程序首先输出地面和天空,即输出定义的二维数组中的字符串,前是空行,后3行是#号。这样screen[24][81]的字符矩阵就与整个屏幕对应起来。然后随时机产生一组流星数据,包

3、括字符、颜色、位置和速度。速度用一次下降多少行来表示,最大的速度是4。由于要随机产生这些数据,因此需要调用random函数。(random函数的原型是intrandom(intnum);这个函数产生一个0—num-1之间的一个随机数。流星字符可以这样产生:random(26)+'A';流星字符的颜色可以这样产生:random(16)+1;流星下降的位置可以这样产生:random(4)+1;流星的行位置一开始都是1;流星的列位置可以这样产生:random(80)+1;但要保证所有流星的列位置不能相同。调用random之前,用randomize。库函数进行初始化。

4、两个库函数都在stdlib.h文件中。)设置后,每个流星按照自己的速度下落,所谓的下落就是逐行移动流星字符:在下一行新的位置上显示流星字符,在原来的位置上显示空格以便擦除流星字符,然后再延迟等待几十毫秒。这样循环往复就构成了流星下落的动画。但要注意,流星的速度各不相同,而一次下落多行的流星也要逐行下落。如果流星的新位置所对应的screen的单元格的值是'#',则表示撞到了地面。这种情况下在流星的新位置上输出空格,擦除##,并且对screen相应的单元赋值为空格,流星字符也要赋值为空格,以表示流星消失。40中任何一个单元格是空格时,程序终止。当screen[23

5、]3程序框图4程序代码#include#include//调用random时需用#include#includevoidmain(){charscreen[24][81];structchr{charch;//characterintcolor,rank,line;//定义颜色位置速度}star[10];inti,j,k,flag,flag1=80;for(i=0;i<=8;i++)for(j=0;j<=79;j++)//输出天空和地面{screen[i][j]='';screen[i][8

6、0]='';}for(i=21;i<=23;i++){for(j=0;j<=79;j++)screen[i][j]='#';screen[i][80]='';}clrscr();textcolor(5);//**for(i=0;i<=23;i++){gotoxy(1,i+1);cprintf(」企,screen[i]);}while(!kbhit()

7、

8、flag1==0){randomize();for(k=0;k<10;k++)〃用random函数随机决定星星的颜色位置速度{控制星星的字符//;'A'+random(26)=ch.star[k]sta

9、r[k].rank=random(80)+1;//控制流星下落的位置star[k].line=random(4)+1;//控制流星的速度star[k].color=random(16)+1;//控制流星的颜色flag=10;for(k=0;k<=9;k++){gotoxy(star[k].rank,1);textcolor(star[k].color);cprintf('屣,star[k].ch);}delay(500);//延迟了500秒gotoxy(1,1);//将字符屏幕的光标移动到1,1处//clreol();控制屏幕上方星星的下落,如去掉它会在上方的

10、屏幕上出现满天的星星while(fla

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。