21xrx.com
2024-11-05 17:25:01 Tuesday
登录
文章检索 我的文章 写文章
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++的图形功能。

  
  

评论区

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