美文网首页C语言程序员
C语言编程做的情人节告白神器

C语言编程做的情人节告白神器

作者: 小辰带你看世界 | 来源:发表于2018-05-08 18:21 被阅读0次

    C语言是面向过程的,而C++是面向对象的

    C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    新的一年又开始了,假期临近尾声,不管是上学的上班的,都要开始忙碌起来了。然而,一年一度的情人节也快要来临了,大家有没有准备好送什么礼物呢?(单身汪请无视(━┳━ _ ━┳━))

    不管是否单身,准备一份礼物总是错不了的,就算没有女朋友,也可以找人一起过,说不定成了呢!按照惯例,情人节了,鲜花玫瑰是肯定不能少的啦。既然如此,是时候展现真正的技术了!

    今天给大家带来的就是一多缓慢绽放的玫瑰花!

    话不多说,先看图:

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    玫瑰绽放

    若隐若现的玫瑰

    玫瑰绽放

    初具雏形的玫瑰

    玫瑰绽放

    绽放的玫瑰,送给可爱的XXX(单身的也可以送人表白哦)

    看起来是不是听不错的呢!

    大家是不是觉得就结束了呢? “当!然!不!是!”

    如果只有一朵花怎么能衬托出这中氛围呢?来首音乐才有情调嘛!

    然后我们再添加一首音乐!(由于图片看不到,就不上传了,)

    一边听着音乐,一边看着一朵玫瑰的绽放,是不是特有情调?

    也许你就能从此告白成功,脱离单身,走向幸福的两人世界哦!

    (没成功当我没说(━┳━ _ ━┳━))

    好了下面来看下源码:

    /**********************************************************************************

    项目名称:一朵鲜花

    编译环境:vs2015 和easyx

    修改时间:2018年01月29日

    ***********************************************************************************/

    #include

    #include

    #include

    #include

    #include

    #pragma comment(lib,"winmm.lib")

    //定义全局变量

    int rosesize = 500;

    int h = -250;

    //定义结构体

    struct DOT

    {

    double x;

    double y;

    double z;

    double r;

    double g;

    };

    bool calc(double a,double b,double c,DOT &d)

    {

    double j, n, o, w, z;

    //花柄

    if (c > 60)

    {

    d.x = sin(a * 7)*(13 + 5 / (0.2 + pow(b * 4, 4))) - sin(b) * 50;

    d.y = b*rosesize + 50;

    d.z = 625 + cos(a * 7)*(13 + 5 / (0.2 + pow(b * 4, 4))) + b * 400;

    d.r = a * 1 - b / 2;

    d.g = a;

    return true;

    }

    double A = a * 2 - 1;

    double B = b * 2 - 1;

    if (A*A + B*B < 1)

    {

    //绿叶

    if (c > 37)

    {

    j = (int(c) & 1);

    n = j ? 6 : 4;

    o = 0.5 / (a + 0.01) + cos(b * 125) * 3 - a * 300;

    w = b * h;

    d.x = o * cos(n) + w * sin(n) + j * 610 - 390;

    d.y = o * sin(n) - w * cos(n) + 550 - j * 350;

    d.z = 1180 + cos(B + A) * 99 - j * 300;

    d.r = 0.4 - a * 0.1 + pow(1 - B * B, -h * 6) * 0.15 - a * b * 0.4 + cos(a + b) / 5 +

    pow(cos((o * (a + 1) + (B > 0 ? w : -w)) / 25), 30) * 0.1 * (1 - B * B);

    d.g = o / 1000 + 0.7 - o * w * 0.000003;

    return true;

    }

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    //花萼

    if (c > 32)

    {

    c = c*1.16 - 0.15;

    o = a * 45 - 20;

    w = b * b * h;

    z = o * sin(c) + w * cos(c) + 620;

    d.x = o * cos(c) - w * sin(c);

    d.y = 28 + cos(B * 0.5) * 99 - b * b * b * 60 - z / 2 - h;

    d.z = z;

    d.r = (b * b * 0.3 + pow((1 - (A * A)), 7)*0.15 + 0.3)*b;

    d.g = b * 0.7;

    return true;

    }

    //花朵

    o = A*(2 - b)*(80 - c * 2);

    w = 99 - cos(A) * 120 - cos(b)*(-h - c * 4.9) + cos(pow(1 - b, 7)) * 50 + c * 2;

    z = o * sin(c) + w * cos(c) + 700;

    d.x = o * cos(c) - w * sin(c);

    d.y = B * 99 - cos(pow(b, 7)) * 50 - c / 3 - z / 1.35 + 450;

    d.z = z;

    d.r = (1 - b / 1.2) * 0.9 + a * 0.1;

    d.g = pow((1 - b), 20) / 4 + 0.05;

    return true;

    }

    return false;

    }

    int main()

    {

    short *zBuffer;

    intx, y, z, zBufferIndex;

    DOTdot;

    initgraph(640,480);//创建绘图窗口

    mciSendString(L"open ./素材/音乐.mp3 alias BGM",0,0,0);//打开音乐 L 多字节字符串

    mciSendString(L"play BGM repeat",0,0,0);

    setbkcolor(YELLOW);

    cleardevice();

    zBuffer = new short[rosesize * rosesize];

    memset(zBuffer, 0, sizeof(short) * rosesize * rosesize);

    for (int j = 0; j < 2000 && !_kbhit(); j++)

    {

    for (int i = 0; i < 10000; i++)

    if (calc(double(rand()) / RAND_MAX, double(rand()) / RAND_MAX, rand() % 46 / 0.74, dot))

    {

    z = int(dot.z + 0.5);

    x = int(dot.x*rosesize / z - h + 0.5);

    y = int(dot.y*rosesize / z - h + 0.5);

    if (y > rosesize) continue;

    zBufferIndex = y*rosesize + x;

    if (!zBuffer[zBufferIndex] || zBuffer[zBufferIndex] > z)

    {

    zBuffer[zBufferIndex] = z;

    //画点

    int r = ~int((dot.r*h));if (r < 0)r = 0;if (r > 255)r = 255;

    int g = ~int((dot.g*h));if (g < 0)g = 0;if (g > 255)g = 255;

    int b = ~int((dot.r*dot.r*-80));if (b < 0)b = 0;if (b > 255)b = 255;

    putpixel(x + 50, y - 20, RGB(r, g, b));

    }

    }

    Sleep(10);

    }

    delete[]zBuffer;

    _getch();

    closegraph();

    return 0;

    }

    小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    这就是程序的全部代码啦!如果想更换音乐只要改下你想要替换的音乐名字该为"音乐"就好了,当然了格式必须是MP3格式的。

    注:如果没有安装easyx图形库是不能运行代码的!大家只要安装完就好了!

    这些是C/C++能做的

    服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

    相关文章

      网友评论

        本文标题:C语言编程做的情人节告白神器

        本文链接:https://www.haomeiwen.com/subject/iipwrftx.html