以下是使用C語言實現動態愛心的示例代碼:
#include <stdio.h>#include <math.h>
#define PI 3.14159265358979323846
void printHeart(int x, int y, double scale);
int main() {
int width = 40; // 愛心寬度
int height = 20; // 愛心高度
double scale = 1.0; // 縮放比例
for (double t = 0.0; t <= 2 * PI; t += 0.1) {
system("cls"); // 清空控制臺(僅適用于Windows系統,Unix/Linux系統請使用system("clear"))
// 計算愛心在屏幕中心的位置
int x = width / 2 + width * sin(t) * sin(t) * sin(t);
int y = height / 2 - height * cos(t) * cos(t) * cos(t);
// 打印愛心
printHeart(x, y, scale);
// 延遲一段時間
for (int i = 0; i < 10000000; i++) {}
}
return 0;
}
void printHeart(int x, int y, double scale) {
int width = 40; // 愛心寬度
int height = 20; // 愛心高度
// 縮放愛心
width *= scale;
height *= scale;
// 打印愛心
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
double distance1 = sqrt(pow((j - width / 4) / (double)(width / 4), 2) + pow((i - height / 4) / (double)(height / 4), 2));
double distance2 = sqrt(pow((j - 3 * width / 4) / (double)(width / 4), 2) + pow((i - height / 4) / (double)(height / 4), 2));
if (distance1 + distance2 <= 1.42) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
}
此代碼在控制臺上實現了一個動態的愛心效果,通過不斷改變愛心的位置和大小來模擬動畫效果。請注意,在Windows系統中使用system("cls")清空控制臺,而在Unix/Linux系統中使用system("clear")。