21xrx.com
2024-12-27 13:48:55 Friday
登录
文章检索 我的文章 写文章
C++2010编写新年快乐烟花代码
2023-07-05 08:30:39 深夜i     --     --
C++ 2010 新年快乐 烟花 代码

作为一门流行的高级编程语言,C++受到很多人的喜爱和追捧。随着新年的到来,我们可以使用C++来编写烟花代码,表达自己的祝福和喜悦。

首先需要了解一些基本知识,如何在C++中使用图形库绘制出烟花的效果。我们可以使用外部库,如OpenGL、SFML、SDL等,也可以采用内部函数来实现。在这里,我将使用内部函数实现。

首先,我们需要一个主函数,代码如下:


#include <iostream>

#include <graphics.h>

int main()

{

  initgraph(640, 480); //初始化画布

  setbkcolor(BLACK); //设置背景色

  setcolor(WHITE); //设置画笔颜色

  circle(320, 240, 20); //绘制一个圆形

  getch(); //等待输入

  closegraph(); //关闭图形界面

  return 0;

}

上面的代码是最简单的绘图程序,它会在屏幕中央绘制一个白色圆形。这只是我们开始的基础,我们需要进一步实现多彩、绚丽的烟花效果。

我们可以将烟花效果分为几个部分实现。首先,我们需要实现一个爆炸效果,这是烟花的核心部分。我们可以使用圆的渐变效果来实现这个爆炸效果,代码如下:


void firework(int x, int y, int r) //参数:爆炸中心坐标和半径

{

  for (int i = 1; i <= 10; i++) //循环10次,每次画一个圆

  {

    setfillcolor(HSVtoRGB((i-1)*36, 255, 255)); //设置填充颜色,转换为RGB模式

    setlinecolor(HSVtoRGB((i-1)*36, 255, 255)); //设置画笔颜色,转换为RGB模式

    fillcircle(x, y, r * i / 10); //绘制一个填充圆

  }

}

上面的代码使用了一个名为HSVtoRGB的函数来进行颜色转换,将HSV模式转换为RGB模式,这将使得我们能够实现更加丰富的颜色。

接下来,我们需要实现烟花的效果,代码如下:


void fireworks()

{

  setfillcolor(BLACK); //设置填充颜色为黑色

  setlinecolor(BLACK); //设置画笔颜色为黑色

  fillrectangle(0, 0, 640, 480); //清空画布

  for (int i = 0; i < 30; i++) //循环30次,每次产生一个烟花

  {

    int x = rand() % 640; //产生一个随机的x坐标

    int y = rand() % 480; //产生一个随机的y坐标

    int r = rand() % 100 + 50; //产生一个半径大小

    firework(x, y, r); //绘制爆炸效果

  }

}

上面的代码使用了rand()函数来产生随机数,以实现随机的烟花效果。

最后,在主函数中调用上述函数即可实现完整的新年快乐烟花效果,代码如下:


#include <iostream>

#include <graphics.h>

void firework(int x, int y, int r);

void fireworks();

int main()

{

  initgraph(640, 480); //初始化画布

  setbkcolor(BLACK); //设置背景色为黑色

  setcolor(WHITE); //设置画笔颜色为白色

  while (1) //循环不停

  {

    fireworks(); //绘制烟花效果

    delay(100); //延迟100毫秒,使得效果更加真实

  }

  closegraph(); //关闭图形界面

  return 0;

}

void firework(int x, int y, int r)

{

  for (int i = 1; i <= 10; i++) //循环10次,每次画一个圆

  {

    setfillcolor(HSVtoRGB((i-1)*36, 255, 255)); //设置填充颜色,转换为RGB模式

    setlinecolor(HSVtoRGB((i-1)*36, 255, 255)); //设置画笔颜色,转换为RGB模式

    fillcircle(x, y, r * i / 10); //绘制一个填充圆

  }

}

void fireworks()

{

  setfillcolor(BLACK); //设置填充颜色为黑色

  setlinecolor(BLACK); //设置画笔颜色为黑色

  fillrectangle(0, 0, 640, 480); //清空画布

  for (int i = 0; i < 30; i++) //循环30次,每次产生一个烟花

  {

    int x = rand() % 640; //产生一个随机的x坐标

    int y = rand() % 480; //产生一个随机的y坐标

    int r = rand() % 100 + 50; //产生一个半径大小

    firework(x, y, r); //绘制爆炸效果

  }

}

现在我们已经成功地使用C++2010编写出了一个新年快乐烟花的程序,运行程序,一起欣赏这绚丽多彩的视觉盛宴吧!

  
  

评论区

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