21xrx.com
2024-12-27 20:28:09 Friday
登录
文章检索 我的文章 写文章
C++编写跳动的爱心代码
2023-07-08 13:01:53 深夜i     --     --
C++ 跳动 爱心 编写 代码

爱是世间最美好的情感之一,而爱心则成为了象征这种情感的图形之一。那么,如何用C++实现一个跳动的爱心呢?下面让我们一起来看看吧。

首先,我们需要在C++中绘制爱心。具体实现方法是,使用数学公式计算出需要绘制的爱心路径,然后通过C++图形库来绘制出来。以下是绘制爱心的代码:


#include<graphics.h>

#include<cmath>

void Heart(int x0, int y0,int r)//(x0,y0)为爱心中心坐标,r为爱心半径

{

  int x, y;

  for (double t = 0; t <= 2 * 3.14; t += 0.01)

  {

    x = 16 * pow(sin(t), 3);

    y = 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t);

    putpixel(x * r + x0, y * r + y0, RED);

  }

  while (!_kbhit()); //暂停程序,等待键盘输入才关闭窗口

  closegraph();

}

int main()

{

  initgraph(640, 480); //创建一个640x480的窗口

  Heart(320, 240,20); //在窗口(320,240)位置绘制一个半径为20的爱心

  return 0;

}

以上代码可以在C++图形库中创建一个爱心,并显示在窗口中。

接下来需要实现爱心跳动的效果。一个简单的做法是,每隔一段时间改变爱心的半径大小,然后重新绘制爱心。以下是改善后的代码:


void Heart(int x0, int y0,int r)//(x0,y0)为爱心中心坐标,r为爱心半径

{

  int x, y;

  for (double t = 0; t <= 2 * 3.14; t += 0.01)

  {

    x = 16 * pow(sin(t), 3);

    y = 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t);

    putpixel(x * r + x0, y * r + y0, RED);

  }

}

int main()

{

  initgraph(640, 480); //创建一个640x480的窗口

  int r = 20;//初始半径

  int x0=320,y0=240;//爱心中心坐标

  while (1)

  {

    Heart(x0, y0, r);//绘制爱心

    delay_ms(50);//每50ms刷新一次窗口

    cleardevice();//清除窗口

    r += 10;//半径每次增加10

    if (r > 100) r = 20;//半径达到最大值100时从头开始玩

  }

  return 0;

}

通过在while循环中改变半径大小,我们可以实现爱心的跳动效果。

最后,我们可以将以上代码进行修改,加入一些互动的元素,比如爱心响应键盘操作,或者加入声音等等。不管如何,这个跳动的爱心都将成为一个浪漫、可爱的小程序,让人感受到爱的魅力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复