计科本131_李健_1304402110.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计科本131_李健_1304402110

计科本131--李健--1304402110 打飞机程序设计报告 感觉说多了太累赘,因为细致的设计过程在代码里面本人都有注释,所以在这里我只写设计的方法及思路了,很具体的细节就不写了。 打飞机游戏的规则: 该游戏名称为打飞机,顾名思义——就是打飞机:随机从游戏屏幕的左边或是右边产生一架或是两架飞机或是船,鼠标点击有效区域就能在相应位置产生一颗子弹,子弹向上飞行,打中飞机相应战绩提升。不会操作的玩家还能查看游戏里面的帮助文件,还能调用程序里面的浏览器下载游戏源码,还有就是本人植入了一个小链接广告。 游戏有三个模式:菜鸟模式、凡人模式、坑爹模式!using Game.Properties,这样直接Resources.物体名 调用相应图片文件。 3、根据实际情况分析,建立各种类: 抽象类父类gameobject——根据游戏用到的各种物体的共同性的class,定义属性或方法:坐标(X,Y)、速度(speed)、大小(size)、活动的区域(fieldarea 是矩形,说白了也就是panel的有效区域,使设计更清晰)、绘图方法(Draw(Graphics g))、移动方法(move(),每次timer控件调用其实现物体目标加一个速度speed,实现我们所谓的运动)、击中后的反应(HitAction); Plane类:继承父类,自定义一个HItTimes方法记录战绩以及Move1方法(尽量逃避子弹的作用)。 Apache类:和plane类差不多,对一些属性修改一下实现从不同方向出来,完全可以对plane重载,只是考虑到其灵活性不足,就没弄了。 Boat类:也和Apache类差不多,方法同其一样。 Bullet类:继承父类,画一个圆并通过移动实现对子弹的模拟,自定义IsHit(物体)方法(判断是否打中物体)并实现对其的重载(传入不同的物体类型的参数),实现实现对各个物体是否击中的判断。 各种类的调用及与相关控件的结合:其在游戏操作界面的cs代码中实行,在Load事件中初始化各个类,新建一只画笔,提供传的参数,在panel中的paint事件中调用draw方法并在这前进行判断哪个按钮按下并画相应模式,并在相应逻判断后调用HItAction等方法;timer控件中根据具体情况调用move、move1方法,实现坐标改变并重新绘图,实现所谓的运动;还有就是判断相关函数,比如plane的HitAction 的调用次数实现对战绩的记录,本人认为有点巧妙。 我的收获:清晰了解了类与实例之间的区别和练习及 对象——类——对象 这样调用存在的意义;写程序是创作,实现的方法可以有N种,只有多写才能深刻理解好程序及算法的巧妙之处。

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档