C++ 控制台动画:旋转的星星
以下是一个使用 C++ 编写的简单的炫酷程序,它会在控制台中绘制一个旋转的星星图案:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
const int width = 80; // 控制台宽度
const int height = 30; // 控制台高度
const double pi = 3.14159;
const int numPoints = 5; // 星星上的点数
const int starSize = 15; // 星星的大小
for (int i = 0; ; i++) {
// 清空控制台
system("cls");
// 计算当前帧的旋转角度
double angle = (i % 360) * (pi / 180.0);
// 计算星星的中心位置
int centerX = width / 2;
int centerY = height / 2;
// 绘制星星
for (int j = 0; j < numPoints; j++) {
double theta = 2.0 * pi * (j * 1.0 / numPoints);
int x = centerX + static_cast<int>(starSize * cos(theta + angle));
int y = centerY + static_cast<int>(starSize * sin(theta + angle));
// 将星星的点绘制到控制台上
cout << '\033[' << y << ';' << x << 'H*';
}
// 延时一段时间,控制动画的速度
for (int k = 0; k < 500000; k++);
// 刷新控制台输出
cout.flush();
}
return 0;
}
这段代码使用了控制台转义序列来控制光标的位置,从而实现在控制台中绘制星星图案的效果。它使用循环来不断改变星星的位置和角度,从而实现旋转的效果。请注意,这段代码在不同平台上的效果可能会有所不同。
原文地址: https://www.cveoy.top/t/topic/oBfT 著作权归作者所有。请勿转载和采集!