用c++编写动态爱心
时间: 2023-07-01 09:08:27 浏览: 318
动态爱心可以通过在控制台中输出一系列字符来实现,可以使用C++的控制台输出函数来完成。
以下是一个简单的动态爱心代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const double PI = 3.14159265358979323846;
const int width = 70;
const int height = 35;
char pixels[height][width + 1];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
pixels[i][j] = ' ';
}
pixels[i][width] = '\0';
}
for (double t = 0; t <= 2 * PI; t += 0.05)
{
double x = 16 * pow(sin(t), 3);
double y = 13 * cos(t) - 5 * cos(2 * t) - 2 * cos(3 * t) - cos(4 * t);
int pixel_x = static_cast<int>(x * 2.5 + width / 2);
int pixel_y = static_cast<int>(-y + height - 1);
pixels[pixel_y][pixel_x] = '*';
// 输出像素矩阵
for (int i = 0; i < height; i++)
{
cout << pixels[i] << endl;
}
// 延迟一段时间
for (int i = 0; i < 10000000; i++);
}
return 0;
}
```
这个程序会在控制台中输出一个动态的爱心,效果如下:
```
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
```
阅读全文