C语言实现动态星空
文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]
// 编译环境:Visual C++ 6.0,EasyX 2014冬至版 // e a s y x . c n //
#include STAR star[MAXSTAR]; // 初始化星星 void InitStar(int i) { star[i].x = 0; star[i].y = rand() % 480; star[i].step = (rand() % 5000) / 1000.0 + 1; double int double int x; y; step; color; // 星星总数 star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // 速度越快,颜色越亮 star[i].color = RGB(star[i].color, star[i].color, star[i].color); } // 移动星星 void MoveStar(int i) { } // 主函数 void main() { srand((unsigned)time(NULL)); initgraph(640, 480); // 初始化所有星星 // 随机种子 // 创建绘图窗口 // 擦掉原来的星星 putpixel((int)star[i].x, star[i].y, 0); // 计算新位置 star[i].x += star[i].step; if (star[i].x > 640) InitStar(i); // 画新星星 putpixel((int)star[i].x, star[i].y, star[i].color); for(int i = 0; i < MAXSTAR; i++) { InitStar(i); star[i].x = rand() % 640; } // 绘制星空,按任意键退出 while(!kbhit()) { for(int i = 0; i < MAXSTAR; i++) MoveStar(i); Sleep(20); } closegraph(); } // 关闭绘图窗口 因篇幅问题不能全部显示,请点此查看更多更全内容