// 程序名称:星空浩海
// 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版
//#include <graphics.h>
#include <time.h>
#include <conio.h>
#define MAXSTAR 200 // 星星总数
struct STAR
{
double x;
int y;
double step;
int color;
};
/*STAR star[MAXSTAR];
*/
// 初始化星星
void InitStar(int i)
{
star[i].x = 0;
star[i].y = rand() % 480;
star[i].step = (rand() % 5000) / 1000.0 + 1;
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)
{
// 擦掉原来的星星
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, sta
实现满天星空
最新推荐文章于 2022-04-26 15:53:56 发布
本文介绍如何使用计算机程序生成逼真的满天星空效果,包括星座定位、星系渲染和光照计算等关键技术,适用于天文爱好者和图形学研究。
摘要由CSDN通过智能技术生成