动态爱心c语言代码
时间: 2023-07-23 13:11:33 浏览: 127
以下是一个简单的动态爱心 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define PI 3.14159
int main()
{
double x, y, size, angle, heart;
int i, j, h, w;
size = 10.0;
heart = 0.0;
for (angle = 0.0; angle <= 2.0 * PI; angle += 0.02)
{
x = size * (16 * pow(sin(angle), 3));
y = -size * (13 * cos(angle) - 5 * cos(2 * angle) - 2 * cos(3 * angle) - cos(4 * angle));
printf("\033[2J\033[%d;%dH", 0, 0); // 清屏
for (j = 0; j < y + size + 2; j++)
{
for (i = 0; i < x - size * 16; i++)
{
printf(" ");
}
for (h = 0; h < (x - size * 16) * heart; h++)
{
printf(" ");
}
for (w = 0; w < size * 2; w++)
{
if (((j - y - size) * (j - y - size) + (i - x + size * 16) * (i - x + size * 16) <= size * size) ||
((j - y) * (j - y) + (i - x + size * 8) * (i - x + size * 8) <= size * size))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
heart += 0.1;
if (heart > 1.0)
{
heart = 1.0;
}
usleep(10000); // 暂停 10 毫秒
}
return 0;
}
```
该代码利用数学函数绘制出一个心形图案,并通过控制台输出实现动态效果。值得注意的是,该代码在 Linux 系统下运行,需要使用 ANSI 控制字符清屏。如果在其他系统下运行,可能需要修改对应的清屏方法。
阅读全文