利用c语言绘制漫天星空-动画
运行的效果如下:
源代码:
// 程序名称:星空
// 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版
// 最后更新:2009-2-22
//
#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, star[i].color);
}// 主函数
void main()
{ srand((unsigned)time(NULL)); // 随机种子
initgraph(640, 480); // 打开图形窗口 // 初始化所有星星
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(); // 关闭图形窗口
}
利用c语言绘制漫天星空-动画相关推荐
- Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略
Python:利用python语言绘制多个子图经典案例.代码实现之详细攻略 目录 利用python语言绘制多个子图代码实现.经典案例 1.绘制多个子图框架 多个子图绘制的经典案例 1.绘制多个直方图 ...
- 利用C语言绘制正弦函数
在已经会利用C语言绘制余弦函数的基础上,我们来进一步探索如何利用C语言绘制正弦函数. 问题分析: 很自然的,我们想到将acos(y)换成asin(y),不就可以把画余弦函数换成画正弦函数了吗.可是,事 ...
- lisp 非对称缓和曲线_利用AutoLISP语言绘制带缓和曲线的铁路曲线平面图
利用 AutoLISP 语言绘制带缓和曲线的铁路曲线平面图 [ 摘要 ] 通过 AutoLISP 编程方法的剖析 , 探讨了基于 Visual LISP(VLISP) 编程软件环境下 , 利用 Aut ...
- 「Python海龟画图」利用海龟画笔绘制满天星空
设置海龟画布 功能要求 设置海龟画布大小为800×600,并设置画布的背景图(背景图片和Python源文件存放在同一个目录下). 实例代码 import turtleturtle.setup(800, ...
- 利用C语言绘制操作系统图像界面
阅读博客的朋友可以参看视频: Linux kernel Hacker, 从零构建自己的内核 有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只 ...
- 利用C语言绘制余弦函数
绘制余弦曲线 要求:在屏幕上用"*"(星号)显示0°~360°的余弦函数cos(x)曲线.(不使用数组) 问题分析与算法设计 对一般的显示器来说,只能按行输出,即:输出第一行信息后 ...
- linux下c语言写界面,利用C语言绘制操作系统图像界面
有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只是一味的在界面上输出几行字符,那太没意思,考虑到,我们的目标是做出像windows那样具备舒 ...
- 4 利用matlab语言绘制 三角孔,MATLAB在机械教学中的新探索 - 黄山学院学报
?122? 黄山学院学报2010生 例如考虑在500Hz频率条件下所采集的信号号的特征频率分量,编程过程如图3所示. 数据,同时形成了包含频率分别为10Hz.30Hz和60Hz的周期信号,并夹杂进一些 ...
- 利用R语言绘制时间序列图
数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.table(file = &q ...
最新文章
- Centos 7安装Postfix用于发送提醒邮件
- commons-httpclient 和 httpclient 区别
- 如何更换里讯浏览器的皮肤?里讯浏览器更换皮肤的方法
- iap如何初始化_IAP在线升级模块详细设计说明
- python爬虫更换ip_爬虫务必要改ip吗?
- java 字符串转换int_java IPV4字符串转int或long
- Pandas数据框索引函数 iloc、loc和ix学习使用
- 如何用VUE从零创建网站
- mysql handlersocket,MySQL-HandlerSocket交易
- 常用的项目管理工具有哪些?
- [Alg]排序算法之插入排序
- Incorrect argument type to variable ‘max_allowed_packet‘解决方法
- EM算法 --入门级详解
- mac系统克隆不能启动_如何制作Mac硬盘的可启动克隆
- 编程难?零基础如何学好编程?
- word的常见问题及解决办法
- Android Scroller的使用
- linux命令——ll详解
- 2018读书清单与情况
- 【IBM Tivoli Identity Manager 学习文档】9 怎样自定义ITIM的界面