C++充满特效的爱心代码
#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;
}