C 语言与 C++ 完整的爱心代码合集:彩色闪动与字符填充附源码
在 C 语言和 C++ 中绘制一个爱心形状,并实现彩色闪动以及字符填充,通常需要使用一些控制台图形库或特定的控制台函数来实现文本颜色和位置的控制。以下是一个简单的示例代码,展示如何使用字符和一些特定技巧来创建一个彩色闪动的字符填充爱心。
由于 C 和 C++ 的库函数有所不同,我将提供一个 C++ 的示例,使用库如 Windows 的 <windows.h>
来控制台输出颜色和位置。
#include <iostream>
#include <Windows.h> // 包含windows.h以使用SetConsoleTextAttribute等函数
#include <thread> // 使线程暂停以实现闪动效果
#include <chrono> // 使用chrono库来管理延迟
void setConsoleColor(int color) {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, color);
}
void drawHeart() {
const char* heartShape[7] = {
" ** ** ",
" ****** ****** ",
"***************",
" ************* ",
" ********* ",
" ***** ",
" *** ",
};
int colors[7] = {4, 2, 6, 1, 5, 3, 7}; // 颜色代码
for (int i = 0; i < 7; ++i) {
setConsoleColor(colors[i]);
std::cout << heartShape[i] << std::endl;
}
}
int main() {
while (true) {
drawHeart();
std::this_thread::sleep_for(std::chrono::milliseconds(500)); // 暂停0.5秒
system("cls"); // 清屏
}
return 0;
}
代码说明:
- setConsoleColor(int color):这是一个辅助函数,用于设置控制台文本的颜色。不同的整数代表不同的颜色。
- drawHeart():这是绘制爱心的函数。使用一个字符数组
heartShape
来表示心形。colors
数组用于每一行设置不同的颜色。 - main():在一个不断循环的过程中绘制爱心,然后暂停500毫秒,再清除屏幕。这会产生一个“闪动”效果。
运行提示:
- 由于代码使用了
windows.h
和system("cls")
,它只能在 Windows 环境中编译和运行。 - 为了看到彩色输出,你需要在支持 ANSI 颜色代码的终端运行此程序。
这只是一个简单的代码示例。可以进一步扩展和优化,比如增加更多的颜色变化效果,或将心形字符更加精细化。