下面是一個使用C語言編寫的心形閃動代碼的示例:
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
#define HEART_WIDTH 10
#define HEART_HEIGHT 7
// 心形的像素矩陣
const bool heart[HEART_HEIGHT][HEART_WIDTH] = {
{false, false, true, true, false, false, true, true, false, false},
{false, true, true, true, true, true, true, true, true, false},
{false, true, true, true, true, true, true, true, true, false},
{false, false, true, true, true, true, true, true, false, false},
{false, false, false, true, true, true, true, false, false, false},
{false, false, false, false, true, true, false, false, false, false},
{false, false, false, false, false, false, false, false, false, false},
};
// 清屏函數
void clearScreen() {
printf("\033[2J");
fflush(stdout);
}
// 打印心形函數
void printHeart(bool isFilled) {
for (int i = 0; i < HEART_HEIGHT; i++) {
for (int j = 0; j < HEART_WIDTH; j++) {
if (isFilled) {
printf(heart[i][j] ? "*" : " ");
} else {
printf(heart[i][j] ? "?" : " ");
}
}
printf("\n");
}
}
int main() {
while (true) {
clearScreen();
printHeart(true);
usleep(500000); // 暫停500毫秒
clearScreen();
printHeart(false);
usleep(500000);
}
return 0;
}
此代碼使用了ASCII字符打印心形,并且使用了終端命令\033[2J
來清屏。通過循環切換打印的心形是否填充來實現閃動效果。請注意,此代碼在大多數終端上都能正常工作,但某些終端可能需要進行調整才能正確顯示心形。