#include<time.h>
#include<windows.h>
typedefstruct
{
intx,y;
charch;
}STU;
STUst[100];
//出现位置
voidgotoxy(intx,inty)
{
HANDLEhout;
COORDpos;
pos.X=x;
pos.Y=y;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hout,pos);
}
/*隐藏光标*/
voidshow_cursor(inthide)
{
CONSOLE_CURSOR_INFOcciCursor;
HANDLEhout;
hout=GetStdHandle(STD_OUTPUT_HANDLE);
if(GetConsoleCursorInfo(hout,&cciCursor))
{
cciCursor.bVisible=hide;
SetConsoleCursorInfo(hout,&cciCursor);
}
}
/*设置颜色*/
voidset_color(intcolor)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),color);
}
main()
{
inti,j;
show_cursor(0);
srand(time(NULL));
//初始化结构体
for(i=0;i<100;i++)
{
st[i].x=rand()%80;
st[i].y=rand()%20;
st[i].ch=rand()%(49-47)+48;
}
while(1)
{
for(i=0;i<100;i++)
{
gotoxy(st[i].x,st[i].y);
set_color(0x2);//最先出现的颜色;
putchar(st[i].ch);
gotoxy(st[i].x,st[i].y-5);
putchar(”);
st[i].y++;
st[i].ch=rand()%(49-47)+48;
if(st[i].y-5>=18)
{
gotoxy(st[i].x,st[i].y-1);
putchar(”);
gotoxy(st[i].x,st[i].y-2);
putchar(”);
gotoxy(st[i].x,st[i].y-3);
putchar(”);
gotoxy(st[i].x,st[i].y-4);
putchar(”);
gotoxy(st[i].x,st[i].y-4);
putchar(”);
}
if(st[i].y>23)
{
st[i].x=rand()%80;
st[i].y=rand()%20;
}
gotoxy(st[i].x,st[i].y);
set_color(0xA);//由前一个颜色渐变成的颜色
putchar(st[i].ch);
}
Sleep(120);
}
}
color(0);printf(“黑色\n”);color(1);printf(“蓝色\n”);color(2);printf(“绿色\n”);color(3);printf(“湖蓝色\n”);color(4);printf(“红色\n”);color(5);printf(“紫色\n”);color(6);printf(“黄色\n”);color(7);printf(“白色\n”);color(8);printf(“灰色\n”);color(9);printf(“淡蓝色\n”);color(10);printf(“淡绿色\n”);color(11);printf(“淡浅绿色\n”);color(12);printf(“淡红色\n”);color(13);printf(“淡紫色\n”);color(14);printf(“淡黄色\n”);color(15);printf(“亮白色\n”)几个基本的颜色;