C++番外篇之动态爱心代码

您所在的位置:网站首页 会跳动的心代码c语言 C++番外篇之动态爱心代码

C++番外篇之动态爱心代码

2024-06-17 11:15| 来源: 网络整理| 查看: 265

前言:今天我们给大家介绍一个有趣的代码,那就是爱心代码,前提是这段代码要先下载一个东西,就是有关C++头文件的,这段代码各位看看就好,当个乐子,因为涉及的代码知识很多。如果大家有兴趣研究的,可以把整段代码看一看。

下面直接先展现代码了:

#define _CRT_SECURE_NO_WARNINGS 1 #include #include //这个头文件需要下载一个软件 #include #include #include #include struct Point { double x, y; COLORREF color; }; COLORREF colors[7] = { RGB(255,32,83),RGB(252,222,250), RGB(255,0,0), RGB(255,0,0), RGB(255,2,2), RGB(255,0,8), RGB(255,5,5) }; const int xScreen = 1200; const int yScreen = 800; const double PI = 3.1426535159; const double e = 2.71828; const double averag_distance = 0.162; const int quantity = 506; const int circles = 210; const int frames = 20; Point origin_points[quantity]; Point points[circles * quantity]; IMAGE images[frames]; double screen_x(double x) { x += xScreen / 2; return x; } double screen_y(double y) { y = -y + yScreen / 2; return y; } int creat_random(int x1, int x2) { if (x2 > x1) return rand() % (x2 - x1 + 1) + x1; } void creat_data() { int index = 0; double x1 = 0, y1 = 0, x2 = 0, y2 = 0; for (double radian = 0.1; radian averag_distance) { x1 = x2, y1 = y2; origin_points[index].x = x2; origin_points[index++].y = y2; } } index = 0; for (double size = 0.1, lightness = 1.5; size 1)lightness -= 0.0025; for (int i = 0; i < quantity; ++i) { if (success_p > creat_random(0, 100) / 100.0) { points[index].color = colors[creat_random(0, 6)]; points[index].x = size * origin_points[i].x + creat_random(-4, 4); points[index++].y = size * origin_points[i].y + creat_random(-4, 4); } } } int points_size = index; for (int frame = 0; frame < frames; ++frame) { images[frame] = IMAGE(xScreen, yScreen); SetWorkingImage(&images[frame]); for (index = 0; index < points_size; ++index) { double x = points[index].x, y = points[index].y; double distance = sqrt(pow(x, 2) + pow(y, 2)); double diatance_increase = -0.0009 * distance * distance + 0.35714 * distance + 5; double x_increase = diatance_increase * x / distance / frames; double y_increase = diatance_increase * y / distance / frames; points[index].x += x_increase; points[index].y += y_increase; setfillcolor(points[index].color); solidcircle(screen_x(points[index].x), screen_y(points[index].y), 1); } for (double size = 17; size < 23; size += 0.3) { for (index = 0; index < quantity; ++index) { if ((creat_random(0, 100) / 100.0 > 0.6 && size >= 20) || (size < 20 && creat_random(0, 100) / 100.0 > 0.95)) { double x, y; if (size >= 20) { x = origin_points[index].x * size + creat_random(-frame * frame / 5 - 15, frame * frame / 5 + 15); y = origin_points[index].y * size + creat_random(-frame * frame / 5 - 15, frame * frame / 5 + 15); } else { x = origin_points[index].x * size + creat_random(-5, 5); y = origin_points[index].y * size + creat_random(-5, 5); } setfillcolor(colors[creat_random(0, 6)]); solidcircle(screen_x(x), screen_y(y), 1); } for (double size = 17; size < 23; size += 0.3) { for (index = 0; index < quantity; ++index) { if ((creat_random(0, 100) / 100.0 > 0.6 && size >= 20) || (size < 20 && creat_random(0, 100) / 100.0 > 0.95)) { double x, y; if (size >= 20) { x = origin_points[index].x * size + creat_random(-frame * frame / 5 - 15, frame * frame / 5 + 15); y = origin_points[index].y * size + creat_random(-frame * frame / 5 - 15, frame * frame / 5 + 15); } else { x = origin_points[index].x * size + creat_random(-5, 5); y = origin_points[index].y * size + creat_random(-5, 5); } setfillcolor(colors[creat_random(0, 6)]); solidcircle(screen_x(x), screen_y(y), 1); } } } } } } } int main() { initgraph(xScreen, yScreen); BeginBatchDraw(); srand(time(0)); creat_data(); SetWorkingImage(); bool extend = true, shrink = false; for (int frame = 0; !_kbhit();) { putimage(0, 0, &images[frame]); FlushBatchDraw(); Sleep(20); cleardevice(); if (extend) frame == 19 ? (shrink = true, extend = false) : ++frame; else frame == 0 ? (shrink = false, extend = true) : --frame; } EndBatchDraw(); closegraph(); return 0; }

这里是运行的情况

#include //这个头文件需要下载一个软件:下面讲解这个软件的安装:、

EasyX Graphics Library for C++

然后出来这个网址:

点继续

点右边下载

可以看到这个

然后打开

点击下一步:

然后上面看你C++编译器的类型和版本,这里我下载了VS2022和VS2019,所以直接安装第二个和三个。

然后重启编译器,就可以看到爱心代码了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3