原生C++代码实现超炫酷五彩动态圣诞树(一起来实现吧)

编程入门 行业动态 更新时间:2024-10-25 10:34:40

实际效果呈现彩色的动态闪动,实现效果也很简单,只是用到了基本的循环

一些函数查一查就好了,后续我可能会加上注释(也没什么好加的)

这个创意来自我的同学 s y q syq syq,这是他的博客博客链接

虽然程序短短几十行不难,但是能有这个创意用简单的循环写出漂亮的图形

我觉的也很厉害了!!!源码在下面

我用的是devc++编译器,不需要安装任何库就可以运行

如果没有第一行的万能头文件,可以用下面三句来替换

#include <cstdio>
#include <string>
#include <iostream>
#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
using namespace std;int len;
struct Dot {int x;int y;char c;
}a[10000000];
int vis[10000000];
char c[5] = {35, 36, 37, 38, 79};
string s = "/\\";
int n;
string me = "Merry Christmas ^_^ !";
string fm = "From Yukisong";void getcur(short int x,short int y)//移动光标函数 
{COORD pos = (COORD){x,y};//定义一个屏幕上的座标 HANDLE handle = GetStdHandle( STD_OUTPUT_HANDLE );SetConsoleCursorPosition( handle,pos );;
}void goprint(int x,int y, char c) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), rand()%16);getcur(x,y); printf("%c", c); //getcur(0,row);//消除光标影响 
} void del(int x,int y)
{getcur(x,y); printf(" ");
}int main() {cout << "请输入你喜欢的一个数字(10 - 17),并将窗口最大化:";cin >> n;cout << endl;int Layer = 2 * n - 1;int Space = 2 * n - 2;for (int i = 1; i <= Layer; ++i) {if (i & 1) {for (int j = 0; j < 2 * i; j += 2) {a[len].x = j + Space + 30, a[len].y = i + 5, a[len++].c = c[rand()%5];}Space -= 2;}else {int r = 0;for (int j = 0; j < 2 * i; j += 2) {a[len].x = j + Space + 31, a[len].y = i + 5, a[len++].c = s[r];r = (r + 1) % 2;}}}for (int i = 0; i < Layer / 3 + 1; ++i) {a[len].x = Layer + 29, a[len].y = i + 6 + Layer, a[len++].c = '|';a[len].x = Layer + 30, a[len].y = i + 6 + Layer, a[len++].c = '|';}for (int i = 0; i < me.length(); ++i) {a[len].x = Layer - 1 + i + 30;a[len].y = Layer / 3 + 10 + Layer;a[len++].c = me[i];}for (int i = 0; i < fm.length(); ++i) {a[len].x = Layer - 1 + i + 30;a[len].y = Layer / 3 + 11 + Layer;a[len++].c = fm[i];}while(1) {int i = rand()%len;if ((a[i].c == '\\' || a[i].c == '/') && vis[i]) {continue;}goprint(a[i].x, a[i].y , a[i].c);vis[i] = 1;}
}

更多推荐

圣诞树,来实现,超炫,代码,动态

本文发布于:2023-05-26 07:07:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/355140.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:圣诞树   来实现   超炫   代码   动态

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!