用C语言实现火升空.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用C语言实现火升空

/计算机程序设计 ----课程设计(C语言) 题目:用C语言实现火箭的升空 学院: 专业: 班级: 姓名: 指导教师: 设计日期: 一. 选题背景: 问题的提出:在科学技术高度发达的世界的今天,人类向太空的探索已经进入了热门化阶段,伴随着我国航天事业的飞速发展,选择了此次程序的设计。 在此,用C语言编制的程序,实现了对火箭“升空”的“键盘”控制。 二.设计思路. 本程序是从画火箭架、星星、火箭以及发射火箭进行的完整过程。画火箭架是用了调用函数DrawGun()函数,这其中是用了两个ellipse()函数画上面的完整椭圆以及下面的半椭圆,然后分别用moveto()函数和lineto()函数进行移动画线点和执行画线过程。其中定义的rightx ,righty ,leftx ,lefty以及centry1 ,rx ,ry ,变量对实现每个交叉点建的连线提供了条件,然后用circle()函数对三条线的端点分别用函数画圆,就是用以上的方法实现了画火箭发射架的过程; 画星星调用了Drawstar()函数,主要就是用srand()函数对每个象素进行随机分布以及用random()函数和setcolor()函数对每一个象素进行颜色处理,再用circle()函数对每一个象素进行了放大处理(在每一个象素上画一个小圆); 画火箭调用了DrawPlan()函数,主要是用ellipse()函数对火箭的顶部画椭圆,并再次用moveto()函数和lineto()函数对火箭的外观轮廓进行画线处理,定义的width1 ,width2 ,y0 ,y1 ,y2 ,y3 ,y4等变量对火箭的绘制的精确有了保障。其中用的setcolor()函数设置了此画线的颜色,并用了setfillstyle()函数设置了岁火箭的闭合轮廓天填充的模式和颜色,再用了floodfill()函数对火箭轮廓不同颜色的填充,当然这其中也用了setfillstyle()函数的两次不同的应用。为使火箭的图象处于稳定的状态,当完成画火箭后,又用了imagesize()函数返回了保存此图象所需要的字节数目,这对此次程序是直关重要的了; 发射火箭是用了循环语句do-while结构,并用了putimage()函数用与移动火箭的图象,方法是方法是用异或方式在屏幕上连续画出火箭的图像,每画一次,新图像和原来的位置相差两个像素点。这个值越大,飞行速度越快。运行的退出是用了free()函数释放分配的块,并用了closegraph()函数关闭了图形系统,除了以上主要的介绍外,此程序还用了如outtextxy()函数(在指定的位置输出指定的内容,如“继续”,“返回”等所需要的条件等),setbkco()lor函数(设置屏幕的颜色),InstallGraph()函1数(图形初始化函数),getch()函数(从键盘无回显的接收一个字符,用于控制火箭的进程的“端口”),等一系列的函数来设计此次程序。 三、主要解决问题的方法及技术关键 1.主要问题及解决方法 火箭及火箭发射架的画法问题。因为火箭和火箭架都不是简单的如正方、长方形等图形,而是由一些椭圆和圆形组织而成的复杂图形。这就对火箭以及火箭架的画法提出了问题:如何画?解决的方法是用moveto()和lineto()函数来连接火箭或火箭架的每一个交叉点(接点)。 屏幕的美观问题,即程序中对星星的显示大小问题。此次程序如何用C语言来更加现实化的显示星星?在这里有一个很巧妙的方法就是用circle()函数以每个像素为圆心画一个小圆,这样做不仅美观,而且增加了现实性。 火箭艰苦的移动问题。火箭虽然是比较圆满的画出,但移动火箭却遇到了困难,如何移动?再这里,是用了do-while 结构以及putimage()函数,设置了每接收一个字符前后的位图就相差几个像素点(本程序中相差2个像素点)。 满天繁星的美丽天空如何制作?此程序中的解决方法是用一个for 循环结构和random()函数对“天空”中的星星进行随机分布显示,这也是一种很巧妙的方法,这样即成了满天繁星的美观场景。 2.技术关键 ◆ 对火箭的移动技术。(do-while 以及 putimage()的应用) 对火箭的位图的字节保存过程。 四:程序流程图 定义、赋值、包含的头文件、函数声明. 定义、赋值、包含的头文件、函数声明. 进入主函数,定义调用库函数。 进入主函数,定义调用库函数。 If条件语句判断断 If条件语句判断断断 为假时调用画火箭架函数DrawGun()。为真退出 为假时调用画火箭架函数DrawGun()。 为真退出 调用画火箭函数DrawPlan().调用画星星函数 调用画火箭函数DrawPlan(). 调用画星星函数DrawStar(). If If条件句判断字节数与内存

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档