1. c語言能實現頁面下雪代碼嗎
可以是肯定的
代碼如下:
#include<graphics.h>
#include<stdlib.h>
#include<time.h>
main()
{
int gdrive,gmode;
gdrive=DETECT;
initgraph(&gdrive,&gmode,"D:\\tc20\\BGI");/*D:\\tc20\\BGI改成自己tc下的BGI路徑,不然不能實現*/
setbkcolor(BLACK);/*Set black backgroud color.*/
setwritemode(1); /*set XOR write mode.*/
thunder();
closegraph();
}
int thunder()
{
time_t st,et;
int i,j,x,y,rnd;
int snows[300][2],a;
srand(time(NULL));
/*initialize.*/
for(i=0;i<300;i++)
{
rnd=rand();
if(rnd<0) rnd=0;
x=rnd%400+50;
rnd=rand();
if(rnd<0) rnd=0;
y=rnd%300+50;
snows[i][0]=x;
snows[i][1]=y;
}
/* Last 30 seconds.*/
st=time(NULL);
et=st;
a=2;
setcolor(WHITE);
for(i=0;i<300;i++)
{
line(snows[i][0]-a,snows[i][1]-a,snows[i][0]+a,snows[i][1]+a);
line(snows[i][0]-a,snows[i][1],snows[i][0]+a,snows[i][1]);
line(snows[i][0]-a,snows[i][1]+a,snows[i][0]+a,snows[i][1]-a);
line(snows[i][0],snows[i][1]+a,snows[i][0],snows[i][1]);
line(snows[i][0],snows[i][1],snows[i][0],snows[i][1]);
}
while((et-st)<60L)
{
/*Erase it.*/
for(i=0;i<300;i++)
{
line(snows[i][0]-a,snows[i][1]-a,snows[i][0]+a,snows[i][1]+a);
line(snows[i][0]-a,snows[i][1],snows[i][0]+a,snows[i][1]);
line(snows[i][0]-a,snows[i][1]+a,snows[i][0]+a,snows[i][1]-a);
line(snows[i][0],snows[i][1]+a,snows[i][0],snows[i][1]);
line(snows[i][0],snows[i][1],snows[i][0],snows[i][1]);
}
/*Delay.*/
for(i=0;i<1000;i++)
{
for(j=0;j<1000;j++)
;
}
/*Fall off.*/
for(i=0;i<300;i++)
{
/*Disturb.*/
rnd=rand();
if(rnd<0) rnd=0;
rnd=rnd%4;
if(rnd%2==0) rnd=-rnd;
snows[i][0]+=rnd;
snows[i][1]+=2;
if(snows[i][1]>349)
{
/*Generate it.*/
rnd=rand();
if(rnd<0) rnd=0;
x=rnd%400+50;
rnd=rand();
if(rnd<0) rnd=0;
y=rnd%300+50;
snows[i][0]=x;
snows[i][1]=y;
}
/*Show it.*/
line(snows[i][0]-a,snows[i][1]-a,snows[i][0]+a,snows[i][1]+a);
line(snows[i][0]-a,snows[i][1],snows[i][0]+a,snows[i][1]);
line(snows[i][0]-a,snows[i][1]+a,snows[i][0]+a,snows[i][1]-a);
line(snows[i][0],snows[i][1]+a,snows[i][0],snows[i][1]);
line(snows[i][0],snows[i][1],snows[i][0],snows[i][1]);
}
et=time(NULL);
}
}
2. 如何用C語言實現「池塘夜降彩色雨」
用C是比較麻煩的
需要圖形介面。
可以用VC/VS的自帶圖形庫
也可以用TC2.0的graphic介面。
或者使用第三方庫。
初始化圖形介面後
在屏幕上打隨機的彩色點,實現下降效果即可。
3. 怎麼用C語言寫下雪的動畫效果
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
/*
*清除屏幕的shell命令/控制台命令,還有一些依賴平台的實現
*如果定義了__GNUC__就假定是使用gcc編譯器,為Linux平台
*否則認為是Window平台
*/
#ifdefined(__GNUC__)
//下面是依賴Linux實現
#include<unistd.h>
#definesleep_ms(m)
usleep(m*1000)
//向上移動游標函數Linux
staticvoid__curup(intheight)
{
inti=-1;
while(++i<height)
printf("