C語言設(shè)計一個閃閃的圣誕樹
更新時間:2016年12月15日 10:20:03 投稿:mrr
本文使用C語言基礎(chǔ)知識在控制臺打印一個圣誕樹效果,真的很簡單哦,一起通過本文學(xué)習(xí)吧
控制臺打印一個圣誕樹:簡簡單單的C語言知識,真的很基礎(chǔ),小白也能看得懂哦
/******************************* 圣誕樹 byC語言小白入門 *******************************/ #include<stdio.h> #include <stdlib.h> #include <time.h> #include<Windows.h> #define X 25 //畫面長度 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(); } }
最終的效果圖
也沒有那么高大上的啦,就很簡單的,效果的話是動態(tài)的,可以閃動的呢。
如果大家看以上代碼不過癮,大家可以參考下這篇文章。
以上所述是小編給大家介紹的C語言設(shè)計一個閃閃的圣誕樹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:
相關(guān)文章
用while判斷輸入的數(shù)字是否回文數(shù)的簡單實現(xiàn)
這篇文章主要介紹了用while判斷輸入的數(shù)字是否回文數(shù)的簡單實現(xiàn),需要的朋友可以參考下2014-02-02??C++11系列學(xué)習(xí)之Lambda表達式
這篇文章主要介紹了??C++11系列學(xué)習(xí)之Lambda表達式,C++11終于也引入了lambda表達式,lambda最早來源于函數(shù)式編程,現(xiàn)代語言慢慢都引入了這個語法,下文關(guān)于??C++11Lambda表達式相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-04-04c語言實現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程
這篇文章主要介紹了c語言實現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Visual?Studio?2022下載安裝與使用超詳細教程
這篇文章主要介紹了Visual?Studio?2022最新版安裝與使用教程,本文以社區(qū)版為例通過圖文并茂的形式給大家介紹Visual?Studio?2022安裝使用,需要的朋友可以參考下2022-04-04