21xrx.com
2025-03-27 04:28:20 Thursday
文章检索 我的文章 写文章
Dev C++编写烟花代码
2023-07-13 02:02:05 深夜i     --     --
Dev C++ 烟花 编写 代码

烟花作为一种美丽的植物,也被用来形容一种烟火似的绚丽的画面。现在,我们可以使用Dev C++编写烟花代码来表达这种美丽。

首先,我们需要导入graphics.h图形库,它是C++中常用的用于绘制图像的图形库。然后,我们可以使用一些简单的函数来定义烟花的形状和样式,例如绘制一个圆形作为烟花的中心。

示例代码:

#include <graphics.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 
#include <math.h> 
 
#define PI 3.1415926535 
 
void drawFirework(int x, int y){ 
  // 绘制烟花 
  setlinewidth(1); 
  setcolor(LIGHTRED); 
  circle(x, y, 10); 
  setfillstyle(SOLID_FILL, LIGHTRED); 
  floodfill(x, y, LIGHTRED); 
  setcolor(YELLOW); 
  line(x - 10, y, x + 10, y); 
  line(x, y - 10, x, y + 10); 
 
  // 绘制火花 
  int n = 30; // 火花的数量 
  int rmin = 10; // 火花的最小半径 
  int rmax = 30; // 火花的最大半径 
  for (int i = 0; i < n; i++){ 
    int r = rmin + rand() % (rmax - rmin + 1); // 计算火花的半径 
    int angle = rand() % 360; // 计算火花运动的角度 
    int sx = x + r * cos(angle * PI / 180); // 计算火花的起点 
    int sy = y + r * sin(angle * PI / 180); 
    int dx = x + 2 * r * cos(angle * PI / 180); // 计算火花的终点 
    int dy = y + 2 * r * sin(angle * PI / 180); 
    setcolor(random(15)); 
    setfillstyle(SOLID_FILL, random(15)); 
    line(sx, sy, dx, dy); 
    circle(dx, dy, 2); 
    floodfill(dx, dy, getpixel(dx, dy)); 
  } 
} 
 
int main(){ 
  initgraph(640, 480); 
 
  while (1){ 
    // 清空屏幕 
    cleardevice(); 
 
    // 绘制烟花 
    drawFirework(320, 240); 
 
    // 暂停1s,然后开始下一个循环 
    delay(1000); 
  } 
 
  getch(); 
  closegraph(); 
  return 0; 
}

在这段代码中,我们定义了一个名为`drawFirework`的函数来绘制烟花和火花,该函数接受两个参数x和y作为烟花的位置。烟花的中心是一个半径为10的圆,黄色线和竖线表示烟花的火花。然后,我们使用一个随机数生成器来计算火花的数量和位置,并在不同的颜色下绘制它们。

在主程序中,我们首先初始化窗口大小为640x480,并在一个循环中绘制烟花,然后在暂停1秒后开始下一次循环。

这是一个基本的烟花代码,你可以添加更多的效果和动画效果来使它更加绚丽。使用Dev C++编写烟花代码是一种很有趣的方式来探索C++的图形功能。

  
  

评论区