21xrx.com
2024-11-22 11:34:50 Friday
登录
文章检索 我的文章 写文章
C语言编写烟花代码详解
2023-06-16 12:51:33 深夜i     --     --
C语言 烟花 代码

烟花作为一种流行的庆祝物品,在平时使用得非常广泛。其美丽的形态和绚丽的色彩,吸引了无数人的目光。如果你对编程有些基础,那么,也许你可以尝试用C语言来模拟烟花的效果。

在C语言中,我们可以通过控制屏幕坐标和输出字符的颜色来实现烟花效果。在代码中,我们需要使用到C语言中的很多库函数,如Windows.h、conio.h等,让我们来看一下完整的代码:


#include

#include

#include

void setxy(int x, int y)

{

  COORD point;

  point.X = x;

  point.Y = y;

  SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);

}

void color(int x)

{

  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);

}

void print_star(int x, int y)

{

  setxy(x, y);

  color(FOREGROUND_RED | FOREGROUND_INTENSITY | FOREGROUND_RED| FOREGROUND_INTENSITY);

  printf("*");

}

void print_shine(int x, int y)

{

  setxy(x, y);

  color(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE |

    FOREGROUND_INTENSITY);

  printf("+");

}

int main()

{

  int x, y, i, j, count;

  int color_num[7] = { FOREGROUND_INTENSITY | FOREGROUND_RED,

    FOREGROUND_INTENSITY | FOREGROUND_GREEN,

    FOREGROUND_INTENSITY | FOREGROUND_BLUE,

    FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN,

    FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE,

    FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE,

    FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE };

  while (1)

  {

    x = rand() % 80;

    y = rand() % 25;

    count = 6 + rand() % 10;

    for (i = 0; i < count; i++)

    {

      color(color_num[rand() % 7]);

      print_star(x, y);

      Sleep(50);

      for (j = 0; j < 5 + rand() % 5; j++)

      {

        print_star(x + rand() % 9 - 4, y + rand() % 4 - 2);

      }

      Sleep(50);

      for (j = 0; j < 9 + rand() % 9; j++)

      {

        print_shine(x + rand() % 17 - 8, y + rand() % 7 - 3);

      }

    }

  }

  _getch();

  return 0;

}

通过以上代码,我们可以轻松地生成烟花的效果,并可以通过调整颜色和延时等参数,来达到自己想要的效果。

  
  

评论区

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