一、項(xiàng)目介紹
這是一個(gè)用C語言實(shí)現(xiàn)的祝福煙花小程序。
亦可用作表白!
編譯環(huán)境:visual c++ 6.0
第三方庫:Easyx2022
二、運(yùn)行截圖
三、主要代碼
void main() { initgraph( 1200, 800 ); srand( time(0) ); // 播放背景音樂 mciSendString( "open ./fire/bk.mp3 alias bk", 0, 0, 0 ); mciSendString( "play bk repeat", 0, 0, 0 ); setfillstyle( 0); setfont( 36, 0, "楷體"); setcolor( LIGHTBLUE ); outtextxy( 370, 100, "我愛Dotcpp!" ); DWORD t1= timeGetTime();// 篩選煙花計(jì)時(shí) DWORD st1= timeGetTime();// 播放花樣計(jì)時(shí) DWORD* pMem = GetImageBuffer();// 獲取窗口顯存指針 for ( int i = 0; i < NUM; i++ )// 初始化煙花 { Init( i ); } Load();// 將煙花圖片信息加載進(jìn)相應(yīng)結(jié)構(gòu)中 BeginBatchDraw();// 開始批量繪圖 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();// 顯示前面的所有繪圖操作 } }
四、完整源碼
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程