C++充满特效的爱心代码

时间:2025-04-28 17:44:56
#include <iostream> #include <ctime> // ASCII爱心字符 const char heart[] = " /\\_/\\ \n ( ) \n ==_== \n"; void printHeart(int delay, int loops) { std::cout << "\033[2J"; // 清屏 std::cout << "\033[H"; // 移动光标到屏幕顶部 for (int i = 0; i < loops; ++i) { for (size_t j = 0; j < sizeof(heart) / sizeof(char); ++j) { if (heart[j] != '\n') { std::cout << heart[j]; std::this_thread::sleep_for(std::chrono::milliseconds(delay)); } else { std::this_thread::sleep_for(std::chrono::milliseconds(200 - delay)); // 空行间隔 } } std::cout << "\n"; // 效果一:爱心闪烁 if (i % 2 == 0) { std::cout << "\033[38;5;200m" << heart; // 白色背景 } else { std::cout << "\033[38;5;10m" << heart; // 黑色背景 } std::cout << "\033[38;0m"; // 恢复默认颜色 } } int main() { srand(time(nullptr)); for (int i = 0; i < 10; ++i) { printHeart(rand() % 100 + 100, rand() % 5 + 1); // 随机延迟和循环次数 } return 0; }