21xrx.com
2025-04-01 17:15:46 Tuesday
文章检索 我的文章 写文章
C++2010编写新年快乐烟花代码
2023-07-05 08:30:39 深夜i     26     0
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编写出了一个新年快乐烟花的程序,运行程序,一起欣赏这绚丽多彩的视觉盛宴吧!

  
  

评论区

请求出错了