C语言设计一个闪闪的圣诞树
时间:2021-06-10 08:28:17|栏目:C代码|点击: 次
控制台打印一个圣诞树:简简单单的C语言知识,真的很基础,小白也能看得懂哦
/******************************* 圣诞树 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(); } }
最终的效果图
也没有那么高大上的啦,就很简单的,效果的话是动态的,可以闪动的呢。
如果大家看以上代码不过瘾,大家可以参考下这篇文章。
上一篇:怎么实现类的成员函数作为回调函数
栏 目:C代码
下一篇:C++堆和栈的区别与联系讲解
本文标题:C语言设计一个闪闪的圣诞树
本文地址:http://www.codeinn.net/misctech/139369.html