示例一:
c#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define WIDTH 80
#define HEIGHT 20
void wait(int ms)
{
clock_t start = clock();
while (clock() - start < ms);
}
void clear_screen()
{
system("cls");
}
void set_cursor(int x, int y)
{
printf("\033[%d;%dH", y, x);
}
void draw_firework(int x, int y)
{
int i, j;
set_cursor(x, y);
printf("*\n");
for (i = 1; i < 5; i++) {
set_cursor(x, y + i);
for (j = 0; j < i; j++) {
printf("*");
}
printf("\n");
}
for (i = 3; i > 0; i--) {
set_cursor(x, y + i);
for (j = 0; j < i; j++) {
printf("*");
}
printf("\n");
}
}
int main()
{
int i, j;
int x, y;
srand(time(NULL));
clear_screen();
while (1) {
x = rand() % WIDTH;
y = rand() % HEIGHT;
draw_firework(x, y);
wait(1000);
clear_screen();
}
return 0;
}
该代码将在控制台中显示一个简单的烟花效果。它使用随机数生成器来选择烟花的起始位置,并在该位置绘制一个简单的烟花图案。然后,它等待一秒钟,清除屏幕,并重复该过程。
示例二:
#include <graphics.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
srand(time(NULL));
while (1) {
int x = rand() % getmaxx();
int y = rand() % getmaxy();
int color = rand() % 16 + 1;
int radius = rand() % 50 + 10;
setcolor(color);
setfillstyle(SOLID_FILL, color);
fillellipse(x, y, radius, radius);
delay(100);
}
closegraph();
return 0;
}
这个例子使用了graphics.h库来绘制烟花,其中包括了一个无限循环,每次循环都会在随机位置绘制一个随机大小和颜色的圆形,然后延迟100毫秒。你可以根据自己的需要修改代码来实现更加复杂的效果。