×

python好看的流星雨代码

python好看的流星雨代码(python编程作品流星)

hacker hacker 发表于2022-06-03 14:40:22 浏览21 评论4

4人参与发表评论

本文导读目录:
1、用C语言编写流星雨程序
2、网易博客流星雨代码
3、QQ空间流星雨代码
4、流星雨的源程序
5、C程序流星雨的源代码?

用C语言编写流星雨程序

#include stdio.h

#include string.h

#include stdlib.h

#include conio.h#define STARNUM 2

#define STARCHAR '*'void main()

{

int starx[STARNUM], stary[STARNUM];

int i, dir, len;clrscr();

for( i = 0; i STARNUM; i++ ) {

starx[i] = -1;

stary[i] = -1;

}srand(time(0));

while( !kbhit() ) { for( i = 0; i STARNUM; i++ ) {

if( starx[i] == -1 random(3) == 0 ) {

starx[i] = 1+random(256)%80;

stary[i] = 1+random(256)%25;

} if( starx[i] 0 ) {

dir = 1-random(2)*2;

len = 8+random(256)%20;

while( len 0 starx[i] 0 starx[i] 80 ) {

gotoxy(starx[i]-dir*2, stary[i]);

printf(" ");

gotoxy(starx[i], stary[i]);

putchar(STARCHAR);

gotoxy(starx[i]-dir, stary[i]);

putchar('-');

delay(15000); starx[i] += dir;

len--;

} if( dir0) gotoxy(starx[i]-dir*2, stary[i]);

else gotoxy(starx[i], stary[i]);

printf(" ");

starx[i] = -1;

gotoxy(0,0);

} }

sleep(1);

clrscr();}}

网易博客流星雨代码

http://imgfree.21cn.com/free/flash/110.swf红色箭头 http://imgfree.21cn.com/free/flash/142.swf星星 http://imgfree.21cn.com/free/flash/143.swf一颗大心 http://imgfree.21cn.com/free/flash/140.swf蒲公英 http://imgfree.21cn.com/free/flash/148.swf白色泡泡 http://imgfree.21cn.com/free/flash/149.swf白色心 http://imgfree.21cn.com/free/flash/150.swf红色的心下降 http://imgfree.21cn.com/free/flash/151.swf白色星星 http://imgfree.21cn.com/free/flash/152.swf美女坐在月亮上面 http://imgfree.21cn.com/free/flash/153.swf一瓶子的心 http://imgfree.21cn.com/free/flash/154.swf几枝粉色的花 http://imgfree.21cn.com/free/flash/155.swf流星雨 http://imgfree.21cn.com/free/flash/158.swf向上飘的白色心 http://imgfree.21cn.com/free/flash/161.swf一篮子心 http://imgfree.21cn.com/free/flash/162.swf掉下来的小串串 http://imgfree.21cn.com/free/flash/163.swf彩色齿轮 http://imgfree.21cn.com/free/flash/167.swf稻草人 http://imgfree.21cn.com/free/flash/166.swf蓝色大海 http://imgfree.21cn.com/free/flash/169.swf风车 http://imgfree.21cn.com/free/flash/170.swf弹吉他的人 http://imgfree.21cn.com/free/flash/171.swf美女弹吉他 http://imgfree.21cn.com/free/flash/174.swf水泡泡 http://imgfree.21cn.com/free/flash/175.swf小娃娃 http://imgfree.21cn.com/free/flash/176.swf水泡泡 http://imgfree.21cn.com/free/flash/178.swf大树叶子 http://imgfree.21cn.com/free/flash/182.swf Congratulation! http://imgfree.21cn.com/free/flash/185.swf粉色心门 http://imgfree.21cn.com/free/flash/186.swf很多绿色萤火虫 http://imgfree.21cn.com/free/flash/188.swf圣诞 http://imgfree.21cn.com/free/flash/195.swf空心 http://imgfree.21cn.com/free/flash/197.swf三颗紫色心 http://imgfree.21cn.com/free/flash/199.swf红色心向上飞 http://imgfree.21cn.com/free/flash/198.swf红色圈圈心 http://imgfree.21cn.com/free/flash/196.swf电话心 http://imgfree.21cn.com/free/flash/204.swf洗澡娃娃 http://imgfree.21cn.com/free/flash/205.swf巧克力蛋糕未打开 http://imgfree.21cn.com/free/flash/206.swf巧克力蛋糕咬了一口 http://imgfree.21cn.com/free/flash/207.swf巧克力蛋糕很多 http://imgfree.21cn.com/free/flash/209.swf两个红气球跳动

QQ空间流星雨代码

QQ空间留言代码

[B][fts=6][ftc=#37B400]*[/ft]

[B][fts=6][ftc=#37B400]*[/ft] QQ空间留言代码

[B][fts=6][ftc=#37B400]*[/ft]

[M][B][ftc=#EE1000] .*★.[/ft]

[B][ftc=#F79700] · * . ` ★ [/ft]

[B][ffg,#FFF100,#FFFFFF] ★ * [/ft]

[B][ffg,#37B400,#FFFFFF] ★ .’[/ft]

[B][ftc=#00A99E] ‘*. . [/ft] QQ空间留言代码

[B][ffg,#438CCB,#FFFFFF] ` . . [/ft]

QQ空间留言代码 [ffg,#EE1000,#FFFFFF]≈;霸占祢啲.嘴°〔.止侑莪蓜).![/ft] [M][B][fts=6][ftc=#ED008C]*[/ft][/ft][ftc=#F49BC1]MuMa、[/ft][fts=6][ffg,#FF3399,#FF3399] 旭、ノ [/ft][/ft][/B][/M]

QQ空间留言代码

流星雨的源程序

以下是原代码:

#includeconio.h

#includedos.h

#includestdlib.h

main()

{char screen[24][80],e[10];

int i,j,k,l,m,n,t=0,a[10],b[10],c[10],d[10],f[10]={0};

randomize();

for(i=0;i24;i++)

for(j=0;j80;j++)

{if(i19){screen[j]='';printf(" ");}

else{screen[j]='#';textcolor(GREEN);cprintf("%c",screen[j]);}

}

do{for(i=0;i10;i++)

{c=random(4)+1;d=random(16);b=0;}

a[0]=random(80);j=0;

do{k=random(80);j++;l=3;

for(i=0;ij;i++)

if(k==a){j--;l=2;break;}

if(l==2)continue;a=k;

}while(i9);

for(i=0;i9;i++)

{e=random(26)+'A';gotoxy(a+1,b+1);

textcolor(d);cprintf("%c",e);f=0;}

for(j=0;j24;j++)

for(i=0;i10;i++)

if(f!=1)

{delay(5000);gotoxy(a+1,b+1);printf(" ");b=b+c;

l=(c19-b)?c:(19-b);

for(m=1;ml;m++)

{n=b+m-c;gotoxy(a+1,n+1);textcolor(d);

cprintf("%c",e);gotoxy(a+1,n+1);printf(" ");}

if(b19){textcolor(d);gotoxy(a+1,b+1);cprintf("%c",e);}

else{for(m=0,k=a;m5;m++)

if(screen[19+m][k]=='#')

{screen[19+m][k]='';gotoxy(k+1,20+m);printf(" ");f=1;break;}

else{gotoxy(k+1,m+20);textcolor(d);cprintf("%c",e);

gotoxy(k+1,m+20);printf(" ");}

}

}

for(k=0;k80;k++)

if(screen[23][k]==''){t=1;break;}

}while(t!=1);

}

C程序流星雨的源代码?

#include windows.h #define ID_TIMER 1

#define STRMAXLEN 25 //一个显示列的最大长度

#define STRMINLEN 8 //一个显示列的最小长度 LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

//////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////

typedef struct tagCharChain //整个当作屏幕的一个显示列,这是个双向列表

{

struct tagCharChain *prev; //链表的前个元素

TCHAR ch; //一个显示列中的一个字符

struct tagCharChain *next; //链表的后个元素

}CharChain, *pCharChain; typedef struct tagCharColumn

{

CharChain *head, *current, *point;

int x, y, iStrLen; //显示列的开始显示的x,y坐标,iStrLen是这个列的长度

int iStopTimes, iMustStopTimes; //已经停滞的次数和必须停滞的次数,必须停滞的次数是随机的

}CharColumn, *pCharColumn; int main(HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("matrix") ;

HWND hwnd ;

MSG msg ;

WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc = WndProc ;

wndclass.cbClsExtra = 0 ;

wndclass.cbWndExtra = 0 ;

wndclass.hInstance = hInstance ;

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH) ;

wndclass.lpszMenuName = NULL ;

wndclass.lpszClassName = szAppName ; if(!RegisterClass (wndclass))

{

MessageBox (NULL, TEXT ("此程序必须运行在NT下!"), szAppName, MB_ICONERROR) ;

return 0;

} hwnd = CreateWindow (szAppName, NULL,

WS_DLGFRAME | WS_THICKFRAME | WS_POPUP,

0, 0,

GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),

NULL, NULL, hInstance,

NULL) ; ShowWindow (hwnd, SW_SHOWMAXIMIZED) ; //最大化显示

UpdateWindow (hwnd) ;

ShowCursor(FALSE); //隐藏鼠标光标

srand ((int) GetCurrentTime ()) ; //初始化随机数发生器

while (GetMessage (msg, NULL, 0, 0))

{

TranslateMessage (msg) ;

DispatchMessage (msg) ;

}

ShowCursor(TRUE); //显示鼠标光标

return msg.wParam ;

} TCHAR randomChar() //随机字符产生函数

{

return (TCHAR)(rand()%(126-33)+33); //33到126之间

} int init(CharColumn *cc, int cyScreen, int x) //初始化

{

int j;

cc-iStrLen = rand()%(STRMAXLEN-STRMINLEN) + STRMINLEN; //显示列的长度

cc-x = x+3 ; //显示列的开始显示的x坐标

cc-y =rand()%3?rand()%cyScreen:0; //显示列的开始显示的y坐标

cc-iMustStopTimes = rand()%6 ;

cc-iStopTimes = 0 ;

cc-head = cc-current =

(pCharChain)calloc(cc-iStrLen, sizeof(CharChain)); //生成显示列

for(j=0; jcc-iStrLen-1; j++)

{

cc-current-prev = cc-point; //cc-point一个显示列的前个元素

cc-current-ch = '\0';

cc-current-next = cc-current+1; //cc-current+1一个显示列的后个元素

cc-point = cc-current++; //cc-point = cc-current; cc-current++;

}

cc-current-prev = cc-point; //最后一个节点

cc-current-ch = '\0';

cc-current-next = cc-head; cc-head-prev = cc-current; //头节点的前一个为此链的最后一个元素 cc-current = cc-point = cc-head; //free掉申请的内存要用current当参数

cc-head-ch = randomChar(); // 对链表头的 元素填充

return 0;

} LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

HDC hdc ;

//ctn 用来确定一个显示链是否 向下前进,如果等待次数超过必须等待的次数,ctn就代表要向下前进

int i, j, temp, ctn; //j为一个显示链中除链表头外的在屏幕上显示的y坐标,temp绿色过度到黑色之用

static HDC hdcMem;

HFONT hFont;

static HBITMAP hBitmap;

static int cxScreen, cyScreen; //屏幕的宽度 高度.

static int iFontWidth=10, iFontHeight=15, iColumnCount; //字体的宽度 高度, 列数

static CharColumn *ccChain; switch (message)

{

case WM_CREATE:

cxScreen = GetSystemMetrics(SM_CXSCREEN) ; //屏幕宽度

cyScreen = GetSystemMetrics(SM_CYSCREEN) ;

SetTimer (hwnd, ID_TIMER, 10, NULL) ; hdc = GetDC(hwnd);

hdcMem = CreateCompatibleDC(hdc);

hBitmap = CreateCompatibleBitmap(hdc, cxScreen, cyScreen);

SelectObject(hdcMem, hBitmap);

ReleaseDC(hwnd, hdc);

//创建字体

hFont = CreateFont(iFontHeight, iFontWidth-5, 0, 0, FW_BOLD, 0, 0, 0,

DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,

DRAFT_QUALITY, FIXED_PITCH | FF_SWISS, TEXT("Fixedsys"));

SelectObject(hdcMem, hFont);

DeleteObject (hFont) ;

SetBkMode(hdcMem, TRANSPARENT); //设置背景模式为 透明

iColumnCount = cxScreen/(iFontWidth*3/2); //屏幕所显示字母雨的列数 ccChain = (pCharColumn)calloc(iColumnCount, sizeof(CharColumn));

for(i=0; iiColumnCount; i++)

{

init(ccChain+i, cyScreen, (iFontWidth*3/2)*i);

}

return 0 ; case WM_TIMER:

hdc = GetDC(hwnd);

PatBlt (hdcMem, 0, 0, cxScreen, cyScreen, BLACKNESS) ; //将内存设备映像刷成黑色

for(i=0; iiColumnCount; i++)

{

ctn = (ccChain+i)-iStopTimes++ (ccChain+i)-iMustStopTimes;

//

(ccChain+i)-point = (ccChain+i)-head; //point用于遍历整个显示列

//第一个字符显示为 白色

SetTextColor(hdcMem, RGB(255, 255, 255));

TextOut(hdcMem, (ccChain+i)-x, (ccChain+i)-y, ((ccChain+i)-point-ch), 1);

j = (ccChain+i)-y;

(ccChain+i)-point = (ccChain+i)-point-next;

//遍历整个显示列,将这个显示列里的字符从下往上显示

temp = 0 ; //temp绿色过度到黑色之用

while((ccChain+i)-point != (ccChain+i)-head (ccChain+i)-point-ch)

{

SetTextColor(hdcMem, RGB(0, 255-(255*(temp++)/(ccChain+i)-iStrLen), 0));

TextOut(hdcMem, (ccChain+i)-x, j-=iFontHeight, ((ccChain+i)-point-ch), 1);

(ccChain+i)-point = (ccChain+i)-point-next;

}

if(ctn)

(ccChain+i)-iStopTimes = 0 ;

else continue;

(ccChain+i)-y += iFontHeight; //下次开始显示的y坐标 为当前的y坐标加上 一个字符的高度

//如果开始显示的y坐标减去 整个显示列的长度超过了屏幕的高度

if( (ccChain+i)-y-(ccChain+i)-iStrLen*iFontHeight cyScreen)

{

free( (ccChain+i)-current );

init(ccChain+i, cyScreen, (iFontWidth*3/2)*i);

}

//链表的头 为此链表的前个元素,因为下次开始显示的时候 就相当与在整个显示列的开头添加个元素,然后在开始往上显示

(ccChain+i)-head = (ccChain+i)-head-prev;

(ccChain+i)-head-ch = randomChar();

}

BitBlt(hdc, 0, 0, cxScreen, cyScreen, hdcMem, 0, 0, SRCCOPY);

ReleaseDC(hwnd, hdc);

return 0; case WM_RBUTTONDOWN:

KillTimer (hwnd, ID_TIMER) ;

return 0; case WM_RBUTTONUP:

SetTimer (hwnd, ID_TIMER, 10, NULL) ;

return 0; //处理善后工作

case WM_KEYDOWN:

case WM_LBUTTONDOWN:

case WM_DESTROY:

KillTimer (hwnd, ID_TIMER) ;

DeleteObject(hBitmap);

DeleteDC(hdcMem);

for(i=0; iiColumnCount; i++)

{

free( (ccChain+i)-current );

}

free(ccChain);

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, message, wParam, lParam) ;

}

这有个数字雨的代码,看能帮助你不!

群贤毕至

访客
笙沉迟醉 笙沉迟醉2022-06-03 15:07:52 | 回复 SS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW
辙弃摘风 辙弃摘风2022-06-03 20:44:57 | 回复 ≈;霸占祢啲.嘴°〔.止侑莪蓜).![/ft] [M][B][fts=6][ftc=#ED008C]*[/ft][/ft][ftc=#F49BC1]MuMa、[/ft][fts=6]
性许怙棘 性许怙棘2022-06-03 20:55:14 | 回复 ash/205.swf巧克力蛋糕未打开 http://imgfree.21cn.com/free/flash/206.swf巧克力蛋糕咬了一口 http://imgfree.21cn.co
颜于乘鸾 颜于乘鸾2022-06-03 21:55:42 | 回复 etTimer (hwnd, ID_TIMER, 10, NULL) ; return 0; //处理善后工作 case WM_KEYDOWN: case WM_LBUTTONDOWN: