c语言跳动的爱心带名字
时间: 2025-03-03 21:01:44 浏览: 37
### C语言实现带有名字的动态心形图案控制台动画
为了创建一个带有名字并能显示跳动效果的心形图案,可以基于已有的C语言代码进行扩展。下面是一个完整的例子,它不仅实现了心形图案的绘制还加入了文字功能。
#### 完整代码示例
```c
#include <stdio.h>
#include <windows.h>
// 设置光标的可见性
void set_cursor_visibility(int visible) {
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info;
info.dwSize = 100;
info.bVisible = visible ? TRUE : FALSE;
SetConsoleCursorInfo(consoleHandle, &info);
}
// 打印心形函数
void draw_heart(float t, char* name) {
int i, j;
float x, y;
system("cls"); // 清屏
printf("\n\n");
for (i = -9; i <= 9; ++i) {
for (j = -25; j <= 25; ++j) {
x = j / 8.0 * cos(t);
y = i / 8.0 * sin(t);
if ((pow(x*x + pow(y-abs(x), 2/3), 2/3) + y*y <= 1 && y >= -sqrt(1-pow(abs(x)-1, 2)) - abs(x)/2))
putchar('*');
else
putchar(' ');
}
puts("");
}
// 显示姓名
printf("%s loves you!\n", name);
Sleep(100); // 延迟一段时间以便观察变化
}
int main() {
set_cursor_visibility(0); // 隐藏光标
char your_name[] = "YourName"; // 替换成自己的名字
while (1) { // 循环播放心跳动画
for (float angle = 0; angle < M_PI * 2; angle += 0.05f)
draw_heart(angle, your_name);
}
return 0;
}
```
此段代码通过循环改变参数`angle`来模拟心脏搏动的效果,并且每次更新屏幕上的图形前都会清除之前的画面以达到平滑过渡的目的。此外,在每颗心中间位置打印出了个性化的消息[^1]。
阅读全文
相关推荐
















