流星雨的实现1 设计要求与功能介绍:编写程序来模拟一组流星飞向地面的情景
地面用多行#来表示,流星用大写字母来表示
程序产生一组流星(比如10 个),从屏幕顶部下降飞向地面
一组流星中,每个流星的字符颜色是随机的,下降的位置是随机的,下降的速度也是随机的
一个流星下落只能去掉一个 #号,当最后一行地面有#被去掉时,程序终止
2 设计思路 :○1首先定义二维数组screen表示地面和天空,此数组是一个24 行 81 列的字符数组
上面的行表示天空, 数组单元的值是空格; 最下面的几行 (如 5 行)表示地面, 数组单元的值是’#’;整个屏幕的大小是80*25 ,即 25 行 80 列,为了在输出最后一行时不换行滚屏,程序只能利用上面的24 行空间
把数组定义成81 列的目的是,每行的最后字符赋值成’0’,就可以按照字符串的方式输出每行文本了
○2 编写的 程序在下降过程中,程序必须知道流星的字符、颜色、位置、速度,因此程序需要定义以下几个数组变量:存放流星字符的数组,存放流星字符颜色的数组,存放流星行位置的数组,存放流星列位置的数组,存放流星下降速度的数组
○3输出时程序首先输出地面和天空,即输出定义的二维数组screen中的字符串,前21 行是空行,后3 行是 #号
这样 screen[24][81] 的字符矩阵就与整个屏幕对应起来
然后随时机产生一组流星数据,包括字符、颜色、位置和速度
速度用一次下降多少行来表示,最大的速度是 4
由于要随机产生这些数据,因此需要调用random 函数
(random 函数的原型是int random(int num) ;这个函数产生一个0— num-1 之间的一个随机数
流星字符可以这样产生: random(26)+’A’; 流星字符的颜色可以这样产生:random(16)+1 ;流星下降的位置可以这样产生:random(4)+1 ;流