C言語で豪華な花火を表示するコードはどのように書きますか?
以下は、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;
}
このコードはANSIEscapeシーケンスを使って、コンソール表示の色とカーソル位置を調整しています。まず遅延関数delayが定義され、花火を表示する時間を調整します。次にdrawFirework関数が定義され、文字を繰り返し表示して花火の形を描画します。main関数ではrand関数を使い、カーソル位置をランダムに生成し、ANSIEscapeシーケンスでカーソル位置とテキスト色を設定して、drawFirework関数を呼び、花火を描画し、delay関数を使って花火を表示する時間を調整しています。
このサンプルはあくまでも単純なサンプルだという点に留意してください。実際の花火打ち上げ花火のコードはもっと複雑で華麗なものになる可能性があります。