C語(yǔ)言基于graphics.h實(shí)現(xiàn)圣誕樹(shù)
頭文件 icon.h:
#pragma once #ifndef _ICON_H_ #define _ICON_H_ #include<graphics.h> #include<string.h> #include<stdlib.h> #include<iostream> #include<string> #include<Windows.h> #include<Mmsystem.h> #pragma comment(lib,"winmm.lib") using namespace std; void init() { initgraph(600, 720); setbkcolor(RGB(255, 255, 255)); cleardevice(); } void drawTree() { IMAGE tree; setfillcolor(RGB(255, 255, 255)); setbkcolor(RGB(255, 255, 255)); loadimage(&tree, "tree.jpg", 600, 580, true); putimage(0, 150, &tree); } void drawDelc() { IMAGE delc; setfillcolor(RGB(255, 255, 255)); setbkcolor(RGB(255, 255, 255)); loadimage(&delc, "delc.jpg", 150, 150, true); putimage(220, 0, &delc); } void Star(int x,int y) { IMAGE star; setfillcolor(RGB(255, 255, 255)); setbkcolor(RGB(255, 255, 255)); loadimage(&star, "star.jpg", 50, 50, true); putimage(x, y, &star); } void Shining(int x,int y) { setbkcolor(RGB(255, 255, 255)); clearrectangle(x, y, x+50, y+50); Sleep(400); Star(x, y); } void music() { mciSendString(TEXT("open Christmas.wav alias bgm"), NULL, 0, NULL); mciSendString(TEXT("play bgm"), NULL, 0, NULL); } void close() { getchar(); closegraph(); } #endif // !_ICON_H_
music函數(shù)播放同目錄下的Christmas.wav 音樂(lè),需要自行導(dǎo)入音樂(lè)到同目錄下,并按情況修改該函數(shù)中音樂(lè)文件目錄,否則沒(méi)有聲音。
圖像素材也需要自行導(dǎo)入
cpp文件 圣誕樹(shù).cpp:
#include<graphics.h> #include<string.h> #include<stdlib.h> #include<iostream> #include<string> #include"icon.h" using namespace std; int main() { init(); drawTree(); drawDelc(); Star(60, 360); Star(490, 360); Star(150, 180); Star(400, 180); music(); while (1) { music(); Shining(60, 360); Shining(490, 360); Shining(150, 180); Shining(400, 180); } close(); return 0; }
效果圖:
到此這篇關(guān)于C語(yǔ)言基于graphics.h實(shí)現(xiàn)圣誕樹(shù)的文章就介紹到這了,更多相關(guān)c語(yǔ)言圣誕樹(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C數(shù)據(jù)結(jié)構(gòu)之雙鏈表詳細(xì)示例分析
以下是對(duì)c語(yǔ)言中的雙鏈表進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08深入解析C++中的構(gòu)造函數(shù)和析構(gòu)函數(shù)
析構(gòu)函數(shù):在撤銷對(duì)象占用的內(nèi)存之前,進(jìn)行一些操作的函數(shù)。析構(gòu)函數(shù)不能被重載,只能有一個(gè)2013-09-09C++ EnterCriticalSection簡(jiǎn)單使用
線程鎖在多線程中可以控制線程的執(zhí)行順序,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08