请帮我写一个浪漫烟花的c语言代码
时间: 2023-08-28 18:34:14 浏览: 105
下面是一个简单的浪漫烟花的C语言代码,希望您喜欢:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#define WIDTH 80
#define HEIGHT 25
void gotoxy(int x, int y) {
COORD pos = { x, y };
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
}
void print_star(int x, int y) {
gotoxy(x, y);
printf("*");
}
void clear_star(int x, int y) {
gotoxy(x, y);
printf(" ");
}
void print_firework(int x, int y) {
int i, j;
for (i = -2; i <= 2; i++) {
for (j = -2; j <= 2; j++) {
if (abs(i) + abs(j) <= 3) {
print_star(x + i, y + j);
}
}
}
}
void clear_firework(int x, int y) {
int i, j;
for (i = -2; i <= 2; i++) {
for (j = -2; j <= 2; j++) {
if (abs(i) + abs(j) <= 3) {
clear_star(x + i, y + j);
}
}
}
}
int main() {
int x, y, i, j;
srand((unsigned)time(NULL));
while (1) {
x = rand() % WIDTH;
y = rand() % HEIGHT;
print_firework(x, y);
Sleep(200);
clear_firework(x, y);
for (i = 1; i <= 5; i++) {
for (j = -i; j <= i; j++) {
print_star(x + j, y - i);
print_star(x + j, y + i);
Sleep(50);
clear_star(x + j, y - i);
clear_star(x + j, y + i);
}
}
}
return 0;
}
```
这个代码使用了控制台的字符打印和清除函数,模拟了烟花的爆炸和烟花灿烂的效果。每当程序运行时,就会不停地在屏幕上打印出浪漫的烟花,希望能够给您带来一些快乐和惊喜。
阅读全文