用c++写一个烟花代码,不用Easyx
时间: 2024-09-13 14:08:49 浏览: 72
C++ easyX 跨年烟花代码
在C++中编写一个烟花效果的程序,而不使用任何图形库如Easyx,可以通过使用控制台输出来模拟。但是请注意,控制台输出是文本模式,因此我们不能展示真正的颜色或复杂的图形效果。不过,我们可以使用字符来模拟烟花爆炸的形状。以下是一个简单的示例代码,它使用了基本的控制台输出来模拟烟花的爆炸效果:
```cpp
#include <iostream>
#include <string>
#include <thread>
#include <chrono>
// 清屏函数,用于清除控制台内容
void clearScreen() {
// 这个命令在Windows系统的控制台中有效
system("cls");
// 在Linux或Mac系统中,应该使用以下命令
// system("clear");
}
// 模拟烟花爆炸的函数
void simulateFirework(int height) {
for (int i = 0; i < height; ++i) {
clearScreen();
for (int j = 0; j < height - i; ++j) {
std::cout << std::endl;
}
std::cout << std::string(i, ' ') << "*" << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(200));
}
for (int i = 0; i < height; ++i) {
clearScreen();
std::cout << std::endl;
if (i < height - 1) {
std::cout << std::string(i, ' ') << "*" << std::endl;
}
std::this_thread::sleep_for(std::chrono::milliseconds(200));
}
}
int main() {
const int height = 10; // 烟花爆炸的高度
simulateFirework(height);
return 0;
}
```
这个程序将通过在控制台上打印字符来模拟烟花上升和爆炸的过程。它首先清除屏幕,然后打印一定数量的空行来模拟烟花上升的距离,接着打印一个星号(*)来表示烟花,然后再次清屏并重复这个过程,直到烟花爆炸。
请注意,这个程序的效果非常简单,并且`clearScreen`函数依赖于操作系统的命令行工具。此外,`std::this_thread::sleep_for`用于在输出之间添加延迟,以便用户可以看到烟花逐渐上升的效果。
阅读全文