还剩1页未读,继续阅读
文本内容:
语言流星雨的实现C#include stdio.h㊀#includ std.lib.#include htime.h㊀#includ unistd.h//流星数量#define MAX_STAR50//屏幕宽度#define MAX_WIDTH80//屏幕高度#define MAX_HEIGHT24n nvoid print_starint x,int y{printf\033[%d;%dH*,y,x;fflushstdout;,nvoidprint_spaceint x,int y{printf\033[%d;%dH”y,x;fflushstdout;//初始化随机数生成器int main{srandtime NULL;㊀㊀int x[MAX_STAR],y[MAX_STAR],sp d[MAX_STAR];for inti=0;iMAX_STAR;i++{//随机生成坐标x[i]=rand%MAX_WIDTH+1;x//随机生成坐标y[i]=rand%MAX_HEIGHT+1;y//随机生成速度speed[i]=rand%4+1;1-4while1{for inti=0;iMAX_STAR;i++{//打印星星print_star x[i],y[i];//等待一段时间速度微秒usleep speedfi]*100000;xlOOOOO//打印空格,星星下落print_space x[i],y[i];坐标加实现星星下落效果y[i]++;//y1,;y[i]1//如果星星落到屏幕底部,重新开始if y[i]MAX_HEIGHT{x[i]=rand%MAX WIDTH+1;return0;这个程序使用了转义码来控制终端输出,使得流星雨能够在屏幕上不断地ANSI移动程序中定义了三个宏表示流星的数量,工和MAX_STAR MAX_W DTHMAX_HEIGHT分别表示屏幕的宽度和高度程序的主要思路是随机生成每个流星的初始位置和速度,然后在循环中不断地打印流星的字符和空格,实现流星移动的效果当一个流星落到屏幕底部时,重新设置其位置,实现循环效果。
个人认证
优秀文档
获得点赞 0