資源簡(jiǎn)介
為你的生日添加一點(diǎn)樂(lè)趣,非常容易看懂的原代碼,更適合像我一樣的新人。

代碼片段和文件信息
/********************************************************
* *
* 程序名稱:祝福煙花,祝福朋友 *
* 編譯環(huán)境:VC++6.0?&&?easyx(立冬版) *
* 作者相關(guān):yy滺滺__<837943056@qq.com> *
* 最后修改:2012.11.22 *
* *
********************************************************/
#include?
#include?
#include?
#include?
#include?
#include?
#include? //?使用該計(jì)時(shí)器必須包含的文件
#pragma?comment?(?lib?“Winmm.lib“?)
/*****?宏定義區(qū)?******/
#define?NUM 13 //?煙花種類數(shù)量宏定義
/*****?結(jié)構(gòu)定義區(qū)?**********/
//?煙花結(jié)構(gòu)
struct?FIRE
{
int?r; //?當(dāng)前爆炸半徑
int?max_r; //?爆炸中心距離邊緣最大半徑
int?x?y; //?爆炸中心在窗口的坐標(biāo)
int?cen_x?cen_y; //?爆炸中心相對(duì)圖片左上角的坐標(biāo)
int?width?height; //?圖片的寬高
int?xy[240][240]; //?儲(chǔ)存圖片像素點(diǎn)
bool?show; //?是否綻放
bool?draw; //?開(kāi)始輸出像素點(diǎn)
DWORD?t1?t2?dt; //?綻放速度
}Fire[NUM];
//?煙花彈結(jié)構(gòu)
struct?JET
{
int?x?y; //?噴射點(diǎn)坐標(biāo)
int?hx?hy; //?最高點(diǎn)坐標(biāo)------將賦值給?FIRE?里面的?x?y
int?height; //?煙花高度
bool?shoot; //?是否可以發(fā)射
DWORD?t1?t2?dt; //?發(fā)射速度
IMAGE?img[2]; //?儲(chǔ)存花彈一亮一暗圖片
byte?n?:?1; //?圖片下標(biāo)
}Jet[NUM];
//?happy?birthday?藝術(shù)字結(jié)構(gòu)
struct?HAPPY //?儲(chǔ)存?Happy?Birthday?藝術(shù)字圖片
{
int?x?y; //?每個(gè)字的圖片的左上角坐標(biāo)
IMAGE?img; //?儲(chǔ)存單個(gè)字圖片
static?int?num; //?字母序號(hào)
}Happy[NUM];
int?HAPPY::num?=?0;
//?For.2012の夭女?結(jié)構(gòu)
struct?WISH //?滾動(dòng)祝福圖片結(jié)構(gòu)
{
int?x?y; //?圖片左上角坐標(biāo)
DWORD?t1?t2?dt; //?圖片運(yùn)動(dòng)時(shí)間間隔
IMAGE?img; //?儲(chǔ)存圖片
int?dxy; //?每次的移動(dòng)量
byte?dir?:?1; //?限制兩個(gè)滾動(dòng)方向
}Wish;
/****?函數(shù)申明區(qū)?****/
void?Init (?int ?); //?初始化煙花
void?Load ( ?); //?加載煙花圖片
void?Shoot ( ?); //?發(fā)射煙花
void?Chose (?DWORD&?); //?篩選煙花
void?Wishing( ?); //?滾動(dòng)祝福
void?style (?DWORD&?); //?發(fā)射樣式
void?Show (?DWORD*?); //?綻放煙花
//?主函數(shù)
void?main()
{
initgraph(?1200?800?);
srand(?time(0)?);
//?播放背景音樂(lè)
mciSendString(?“open?./fire/bk.mp3?alias?bk“?0?0?0?);
mciSendString(?“play?bk?repeat“?0?0?0?);
setfillstyle(?0 );
setfont (?36?0?“楷體“ );
setcolor (?YELLOW?);
outtextxy (?370?100?“雷佳毅出品....?^_^“?);
DWORD?t1 =?timeGetTime(); //?篩選煙花計(jì)時(shí)
DWORD?st1 =?timeGetTime(); //?播放花樣計(jì)時(shí)
DWORD*?pMem?=?GetImageBuffer(); //?獲取窗口顯存指針
for?(?int?i?=?0;?i? {
Init(?i?);
}
Load(); //?將煙花圖片信息加載進(jìn)相應(yīng)結(jié)構(gòu)中
BeginBatchDraw(); //?開(kāi)始批量繪圖
while?(?!kbhit()?)
{
Sleep(?10?);
//?隨機(jī)選擇?4000?個(gè)像素點(diǎn)擦除
for?(?int?clr?=?0;?clr?1000;?clr++?)
{
for?(?int?j?=?0;?j?2;?j++?)
{
int?px1?=?rand()?%?1200;
int?py1?=?rand()?%?800;
if?(?py1?799?) //?防止越界
pMem[py1?*?1200?+?px1]?=?pMem[py1?*?1200?+?px1?+?1]?=?BLACK; //?對(duì)顯存賦值擦出像素點(diǎn)
}
}
Chose (?t1 ); //?篩選煙花
Shoot ( ); //?發(fā)射煙花
Show (?pMem ); //?綻放煙花
Wishing ( ); //?滾動(dòng)字符
style (?st1 ); //?花樣發(fā)射
FlushBatchDraw( ); //?顯示前面的所有繪圖操作
}
}
//?初始化煙花參數(shù)
void?Init(?int?i?)
{
//?分別為:煙花中心到圖片邊緣的最遠(yuǎn)距離、煙花中心到圖片左上角的距離?(x、y)?兩個(gè)分量
int?r[13]?=?{?120?120?155?123?130?147?138?138?130
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????40674??2011-12-30?15:48??新建文件夾\Debug\2.obj
?????文件??????40832??2011-12-30?15:48??新建文件夾\Debug\main.obj
?????文件????4090060??2011-12-30?15:41??新建文件夾\Debug\main.pch
?????文件?????689152??2011-12-30?15:48??新建文件夾\Debug\main.pdb
?????文件?????181248??2011-12-30?15:48??新建文件夾\Debug\vc60.idb
?????文件??????94208??2011-12-30?15:47??新建文件夾\Debug\vc60.pdb
?????文件????4341059??2012-11-18?20:32??新建文件夾\fire\bk.mp3
?????文件??????82412??2012-11-16?12:21??新建文件夾\fire\bomb.wav
?????文件????2246454??2012-11-18?15:53??新建文件夾\fire\flower.jpg
?????文件??????37099??2012-11-18?14:59??新建文件夾\fire\happy.jpg
?????文件??????17764??2012-11-18?16:03??新建文件夾\fire\shoot.jpg
?????文件??????89486??2012-07-18?18:23??新建文件夾\fire\shoot.mp3
?????文件??????21641??2011-12-30?15:39??新建文件夾\fire\yaojing.jpg
?????文件??????20864??2011-12-30?15:39??新建文件夾\fire\yaojing.psd
?????文件??????35028??2012-11-22?12:29??新建文件夾\ico.aps
?????文件???????1719??2012-11-22?12:29??新建文件夾\ico.rc
?????文件????????488??2012-11-22?12:28??新建文件夾\ico.rct
?????文件???????3764??2012-11-22?12:29??新建文件夾\ico.res
?????文件??????11556??2011-12-30?15:43??新建文件夾\main.cpp
?????文件???????3445??2011-12-30?15:48??新建文件夾\main.dsp
?????文件????????516??2011-12-30?15:48??新建文件夾\main.dsw
?????文件?????303146??2012-11-22?12:34??新建文件夾\main.exe
?????文件??????50176??2011-12-30?15:48??新建文件夾\main.ncb
?????文件??????48640??2011-12-30?15:48??新建文件夾\main.opt
?????文件???????2576??2011-12-30?15:48??新建文件夾\main.plg
?????文件???????3638??2012-11-22?12:29??新建文件夾\MSN.ICO
?????文件????????452??2012-11-22?12:29??新建文件夾\resource.h
?????目錄??????????0??2011-12-30?15:48??新建文件夾\Debug
?????目錄??????????0??2011-12-30?15:39??新建文件夾\fire
?????目錄??????????0??2011-12-30?15:48??新建文件夾
............此處省略3個(gè)文件信息
評(píng)論
共有 條評(píng)論