溫馨提示×

C語言好看的煙花代碼怎么寫

小億
194
2023-11-30 09:43:00
欄目: 編程語言

以下是一個簡單的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); // 設(shè)置光標位置
        printf("\033[1;31m"); // 設(shè)置紅色文本顏色
        drawFirework();

        delay(500); // 延時500毫秒

        printf("\033[%d;%dH", y, x); // 設(shè)置光標位置
        printf("\033[0m"); // 恢復默認文本顏色
        drawFirework();

        delay(500); // 延時500毫秒
    }

    return 0;
}

這個代碼使用了ANSI轉(zhuǎn)義序列來控制控制臺輸出的顏色和光標位置。首先定義了一個延時函數(shù)delay,用于控制煙花的顯示時間。然后定義了一個繪制煙花的函數(shù)drawFirework,它通過循環(huán)打印字符來繪制煙花的形狀。main函數(shù)中使用rand函數(shù)生成隨機的光標位置,然后通過ANSI轉(zhuǎn)義序列設(shè)置光標位置和文本顏色,調(diào)用drawFirework函數(shù)來繪制煙花,并使用delay函數(shù)控制煙花的顯示時間。

請注意,這只是一個簡單的示例,實際的煙花代碼可能更加復雜和精美。

1