圣诞立刻来啦!看见许多爸爸妈妈用各式各样词汇Longpr了绿色植物,只好就想用 C 词汇来画两颗绿色植物,上面先上看呵呵设计图吧!
全数效用不然那个Shahdol会有色调闪光的哦!而已那个截屏并没表明出,我们何不看一看上面的源码哦~
源标识符实例:(前面内含标识符预测)
#include <math.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <stdbool.h> #define N 15 char str[] = {*, , @, , #, , \, , $, , %, , &, , !}; void color(int a) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), a); }void getCoord(double y, double x) { COORD pos = { x,y }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); }void hideCursor() { CONSOLE_CURSOR_INFO cursor= { 1, 0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor); }void layer(int x, int y, int num, int col) { color(col); getCoord(x, y); intidx = rand()%N;printf(“%c”, str[idx]); for(int k = 1; k <= num; ++k) { idx = rand()%N; getCoord(x + k –1, y); printf(“%c”, str[idx]); for(int i = 1; i <= (k*2-1)/2; i++) { getCoord(x + k – 1, y – i); idx = rand()%N;printf(“%c”, str[idx]); getCoord(x + k – 1, y + i); idx = rand()%N; printf(“%c”, str[idx]); } } } void triangle(int x, int y, int num, int col) { getCoord(x, y); color(col);printf(“*”); for(int i = 1; i <= num; ++i) { int x1 = x + i; int y1 = y – i; for(int j = 0; j < i *2 + 1; ++j) { getCoord(x1, y1 + j); printf(“*”); } } } void triangleRight(double x, double y, double num, double col) { getCoord(x, y*2); color(col); printf(“*”); for(int i = 1; i <= num; ++i) {double x1 = x – i; double y1 = y – i; for(int j = 0; j < i * 2 + 1; ++j) { getCoord(x1 + j, y1 * 2); printf(“*”); } } } void triangleLeft(double x, double y, double num, double col) { getCoord(x, y*2); color(col); printf(“*”); for(int i = 1; i <= num; ++i) { double x1 = x – i; double y1 = y + i; for(int j = 0; j < i * 2 + 1; ++j) { getCoord(x1 + j, y1 * 2); printf(“*”); } } } void rectangle(int x, int y, int h, int w, int col1, int col2) { color(col1); for(int i = 0; i <= h; ++i) { for(int j = 0; j <= w/2; ++j) { getCoord(x + i, y – j);if(i % 3 || j % 2) printf(“*”); else { color(col2); printf(“!”); color(col1); } getCoord(x + i, y + j);if(i % 3 || j % 2) printf(“*”); else { color(col2); printf(“!”); color(col1); } } } } int main() { hideCursor(); int colTop = 4; intcolMid =4; int colEnd = 13; while(true) { colTop = colTop == 4 ? 9 : 4; triangleLeft(5, 27.8, 2, colTop); triangleRight(5, 27.8, 2, colTop); Sleep(100); layer(5, 55, 10, 2); layer(9, 55, 16, 2); layer(14, 55, 26, 2); colMid = colMid == 4 ? 5 : 4; triangle(11, 55, 3, colMid); triangle(19, 60, 3, colMid); triangle(29, 42, 3, colMid); triangle(31, 57, 3, colMid); colEnd = colEnd == 13 ? 1 : 13; rectangle(40, 55, 15, 18, 6, colEnd); Sleep(200); } return 0; }上面便是绿色植物的简单实现,上面来说下原理:
函数 layer Longpr树的层次,根据坐标来输出位置;
void layer(int x, int y, int num, int col)函数 triangle Longpr小三角形,作为点缀;
void triangle(int x, int y, int num, int col)函数 triangleRight 和 triangleLeft Longpr绿色植物顶部的蝴蝶结;
void triangleRight(double x, double y, double num, double col); void triangleLeft(double x, double y, double num, double col);函数 hideCursor 负责隐藏光标;
void hideCursor()函数 getCoord 负责确定输出字符的位置;
void getCoord(double y, double x)函数 color 负责设置输出的色调;
void color(int a)主函数的原理如下:
void color(int a)主函数通过两个 while 循环,不断刷新绿色植物和绿色植物点缀的色调。
希望对我们有帮助!
此外,我也给我们撷取我收集的其他资源,从最零基础开始的教程到C词汇C++项目案例,帮助我们在学习C词汇的道路上披荆斩棘!
编程学习书籍撷取:
编程学习视频撷取:
整理撷取(多年学习的源标识符、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!
对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!