以下是一個簡單的C語言煙花代碼示例:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void delay(unsigned int milliseconds) {
clock_t start_time = clock();
while (clock() < start_time + milliseconds);
}
void drawFirework() {
int i, j;
for (i = 0; i < 10; i++) {
for (j = 0; j < 20; j++) {
if (i == 0 || j == 0 || i == 9 || j == 19)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
int main() {
int i;
srand(time(NULL));
for (i = 0; i < 10; i++) {
int x = rand() % 80 + 1;
int y = rand() % 20 + 1;
printf("\033[%d;%dH", y, x); // 設置光標位置
printf("\033[1;31m"); // 設置紅色文本顏色
drawFirework();
delay(500); // 延時500毫秒
printf("\033[%d;%dH", y, x); // 設置光標位置
printf("\033[0m"); // 恢復默認文本顏色
drawFirework();
delay(500); // 延時500毫秒
}
return 0;
}
這個代碼使用了ANSI轉義序列來控制控制臺輸出的顏色和光標位置。首先定義了一個延時函數delay
,用于控制煙花的顯示時間。然后定義了一個繪制煙花的函數drawFirework
,它通過循環打印字符來繪制煙花的形狀。main
函數中使用rand
函數生成隨機的光標位置,然后通過ANSI轉義序列設置光標位置和文本顏色,調用drawFirework
函數來繪制煙花,并使用delay
函數控制煙花的顯示時間。
請注意,這只是一個簡單的示例,實際的煙花代碼可能更加復雜和精美。