C語(yǔ)言設(shè)計(jì)一個(gè)閃閃的圣誕樹
控制臺(tái)打印一個(gè)圣誕樹:簡(jiǎn)簡(jiǎn)單單的C語(yǔ)言知識(shí),真的很基礎(chǔ),小白也能看得懂哦
/******************************* 圣誕樹 byC語(yǔ)言小白入門 *******************************/ #include<stdio.h> #include <stdlib.h> #include <time.h> #include<Windows.h> #define X 25 //畫面長(zhǎng)度 int background[20][2 * X] = { 0 }; int SNOW = 30; //雪花密度 /******************************* 畫樹 *******************************/ void tree() { int i, j, x, y; for (i = 0; i < 3; i++) { y = i; for (j = 0; j < 2 * i + 1; j++) { background[y][(X - i) + j] = 1; } } for (i = 0; i < 5; i++) { y++; for (j = 0; j < 2 * (i + 1) + 1; j++) { background[y][(X - (i + 1)) + j] = 1; } } for (i = 0; i < 7; i++) { y++; for (j = 0; j < 2 * (i + 3) + 1; j++) { background[y][(X - (i + 3)) + j] = 1; } } for (i = 0; i < 5; i++) { y++; for (j = 0; j < 3; j++) { background[y][X + (2 * j - 2)] = 2; } } } /******************************* 畫雪花 *******************************/ void snow() { int i; srand(time(NULL)); for (i = 0; i < SNOW; i++) { int x, y; x = rand() % (2 * X); y = rand() % 20; if ((background[y][x] == 0)) { background[y][x] = 3; } } } /******************************* 打印 *******************************/ void display() { int x, y; for (y = 0; y < 20; y++) { for (x = 0; x < 2 * X; x++) { if (background[y][x] == 0) { printf(" "); } if (background[y][x] == 1) { printf("0"); } if (background[y][x] == 2) { printf("|"); } if (background[y][x] == 3) { printf("*"); } } printf("\n"); } } /******************************* 清除雪花 *******************************/ void clear_snow() { int i, j; for (i = 0; i < 20; i++) { for (j = 0; j < 2 * X; j++) { if (background[i][j] == 3) { background[i][j] = 0; } } } } void main() { tree(); while (1) { snow(); display(); Sleep(1); system("cls"); clear_snow(); } }
最終的效果圖
也沒有那么高大上的啦,就很簡(jiǎn)單的,效果的話是動(dòng)態(tài)的,可以閃動(dòng)的呢。
如果大家看以上代碼不過癮,大家可以參考下這篇文章。
以上所述是小編給大家介紹的C語(yǔ)言設(shè)計(jì)一個(gè)閃閃的圣誕樹,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了用while判斷輸入的數(shù)字是否回文數(shù)的簡(jiǎn)單實(shí)現(xiàn),需要的朋友可以參考下2014-02-02C語(yǔ)言實(shí)現(xiàn)linux網(wǎng)卡檢測(cè)改進(jìn)版
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)linux網(wǎng)卡檢測(cè)的改進(jìn)版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06??C++11系列學(xué)習(xí)之Lambda表達(dá)式
這篇文章主要介紹了??C++11系列學(xué)習(xí)之Lambda表達(dá)式,C++11終于也引入了lambda表達(dá)式,lambda最早來源于函數(shù)式編程,現(xiàn)代語(yǔ)言慢慢都引入了這個(gè)語(yǔ)法,下文關(guān)于??C++11Lambda表達(dá)式相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-04-04c語(yǔ)言實(shí)現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程
這篇文章主要介紹了c語(yǔ)言實(shí)現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Visual?Studio?2022下載安裝與使用超詳細(xì)教程
這篇文章主要介紹了Visual?Studio?2022最新版安裝與使用教程,本文以社區(qū)版為例通過圖文并茂的形式給大家介紹Visual?Studio?2022安裝使用,需要的朋友可以參考下2022-04-04C++ 動(dòng)態(tài)內(nèi)存管理詳情解說
這篇文章主要介紹了C++ 動(dòng)態(tài)內(nèi)存管理詳情解說,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-07-07