运行的效果如下:

源代码:

// 程序名称:星空
// 编译环境: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语言绘制漫天星空-动画相关推荐

  1. Python:利用python语言绘制多个子图经典案例、代码实现之详细攻略

    Python:利用python语言绘制多个子图经典案例.代码实现之详细攻略 目录 利用python语言绘制多个子图代码实现.经典案例 1.绘制多个子图框架 多个子图绘制的经典案例 1.绘制多个直方图 ...

  2. 利用C语言绘制正弦函数

    在已经会利用C语言绘制余弦函数的基础上,我们来进一步探索如何利用C语言绘制正弦函数. 问题分析: 很自然的,我们想到将acos(y)换成asin(y),不就可以把画余弦函数换成画正弦函数了吗.可是,事 ...

  3. lisp 非对称缓和曲线_利用AutoLISP语言绘制带缓和曲线的铁路曲线平面图

    利用 AutoLISP 语言绘制带缓和曲线的铁路曲线平面图 [ 摘要 ] 通过 AutoLISP 编程方法的剖析 , 探讨了基于 Visual LISP(VLISP) 编程软件环境下 , 利用 Aut ...

  4. 「Python海龟画图」利用海龟画笔绘制满天星空

    设置海龟画布 功能要求 设置海龟画布大小为800×600,并设置画布的背景图(背景图片和Python源文件存放在同一个目录下). 实例代码 import turtleturtle.setup(800, ...

  5. 利用C语言绘制操作系统图像界面

    阅读博客的朋友可以参看视频: Linux kernel Hacker, 从零构建自己的内核 有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只 ...

  6. 利用C语言绘制余弦函数

    绘制余弦曲线 要求:在屏幕上用"*"(星号)显示0°~360°的余弦函数cos(x)曲线.(不使用数组) 问题分析与算法设计 对一般的显示器来说,只能按行输出,即:输出第一行信息后 ...

  7. linux下c语言写界面,利用C语言绘制操作系统图像界面

    有了C语言这一利器后,不多多拿来用,那就太对不起前面的一系列努力了.那么怎么表现C语言的强大功能呢,如果还只是一味的在界面上输出几行字符,那太没意思,考虑到,我们的目标是做出像windows那样具备舒 ...

  8. 4 利用matlab语言绘制 三角孔,MATLAB在机械教学中的新探索 - 黄山学院学报

    ?122? 黄山学院学报2010生 例如考虑在500Hz频率条件下所采集的信号号的特征频率分量,编程过程如图3所示. 数据,同时形成了包含频率分别为10Hz.30Hz和60Hz的周期信号,并夹杂进一些 ...

  9. 利用R语言绘制时间序列图

    数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.table(file = &q ...

最新文章

  1. Centos 7安装Postfix用于发送提醒邮件
  2. commons-httpclient 和 httpclient 区别
  3. 如何更换里讯浏览器的皮肤?里讯浏览器更换皮肤的方法
  4. iap如何初始化_IAP在线升级模块详细设计说明
  5. python爬虫更换ip_爬虫务必要改ip吗?
  6. java 字符串转换int_java IPV4字符串转int或long
  7. Pandas数据框索引函数 iloc、loc和ix学习使用
  8. 如何用VUE从零创建网站
  9. mysql handlersocket,MySQL-HandlerSocket交易
  10. 常用的项目管理工具有哪些?
  11. [Alg]排序算法之插入排序
  12. Incorrect argument type to variable ‘max_allowed_packet‘解决方法
  13. EM算法 --入门级详解
  14. mac系统克隆不能启动_如何制作Mac硬盘的可启动克隆
  15. 编程难?零基础如何学好编程?
  16. word的常见问题及解决办法
  17. Android Scroller的使用
  18. linux命令——ll详解
  19. 2018读书清单与情况
  20. 【IBM Tivoli Identity Manager 学习文档】9 怎样自定义ITIM的界面

热门文章

  1. 手把手教你Android来去电通话自动录音的方法
  2. 北京移动长漫亲情省业务(长途、漫游超便宜)
  3. 【学习】自学JavaScript
  4. 分析Faster RCNN中的RPN
  5. spark视频-第二期:Shark、SparkSQL
  6. 【WPF】用100行C#代码实现扫雷
  7. pandas(四)pandas的拼接操作
  8. 信息安全密码学实验二:序列密码的设计与实现
  9. pinpoint全链路监控安装部署(支持dubbo)
  10. android 加固崩溃,360加固后,夜神模拟器安装崩溃