- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
坦克大战游戏总结
坦克大战游戏总结
一.如何实现坦克遇到一堵墙时坦克不能继续向前,且子弹遇到墙时不能打穿墙
实现步骤如下:
1.新建一个Wall类
(1)Wall中有坐标x,y(成员变量),
(2)静态常量长和宽WIDTH,HEIGHT(画出外界矩形的长和宽)
(3)获得外界矩形的方法getRec()(用于在子弹,坦克和墙相撞也就是他们的外界矩形相交)
(4)定义一个画出wall的方法piant()(主要是在窗体类中利用wall类的对象调用paint方法就将wall画如窗体中去了)
2.在子弹类中添加撞墙的方法hitWall(Wall wall)
(1)具体方法如下:
public void hitWall(Wall wall){
if(this.getRec().intersects(wall.getRect())this.isLive()){
//设置子弹为死了
this.setFlag(true);
}
}
在定义该方法之前首先应该先在子弹类中定义获得子弹的外接矩形的方法具体方法如下:
public Rectangle getRec(){
return new Rectangle(x,y,WIDTH,HEIGHT);//其中x,y为子弹的坐标
}
子弹撞墙的方法中主要是利用了矩形类中的intersects方法(该方法主要是判断矩形是否相交,如果矩形相交则将子弹的生死状态设置为死,即当子弹撞墙时,子弹消失
3.在坦克类中添加撞墙的方法hitWall(Wall wall)
(1)具体方法如下:
public void hitWall(Wall wall){
if(this.getRec().intersects(wall.getRect())this.isLive()){
x=ox;
y=oy;
}
}//其中的ox,oy用于保存坦克上一步的坐标
首先应该定义两个变量用于保存坦克上一步的坐标,在move方法首先将坦克的坐标保存在ox,oy中,当坦克和墙相撞即坦克的外接矩形墙的外界矩形相交,则将坦克的坐标设置为上一次设置的坐标
(2)在添加撞墙方法之前首先应该添加一个获得坦克的外界矩形的方法public Rectangle getRec()
4.在窗体类新建Wall类的对象作为窗体类的成员变量,并在窗体类的paint方法中利用Wall的对象来调用paint方法来将墙画入到窗体中去,再窗体类的paint方法中调用子弹对象的paint方法处调用子弹撞墙的方法hitWall(Wall wall),和在调用坦克对象的paint方法处调用坦克撞墙的方法hitWall(Wall wall)
二.如何制作坦克不能互相穿越
(1)在坦克类中定义一个坦克装坦克的方法hitTank(Tank tank)具体方法如下:
public boolean hitTank(Tank tank){
//当两辆坦克相撞时,就将坦克的坐标设置为上一步的坐标,必须保证两辆坦克是活的,且坦克不能使本身相撞
if(this.getRec().intersects(tank.getRec())this.livetank.livethis!=tank){
this.x=ox;
this.y=oy;
return true;
}
return false;
}
//定义装多辆坦克的方法
public boolean hitTanks(ListTank etankList){
for(int i=0;ietankList.size();i++){
//用当前坦克去撞坦克集合中的坦克
this.hitTank(etankList.get(i));
}
return false;
}
(2)在窗体类中的paint方法中的话坦克方法中调用坦克装坦克的方法,在我方坦克调用如下:tank.hitTanks(etankList);在敌方坦克调用如下:
etankList.get(i).hitTank(tank);(敌方坦克撞我方坦克)etankList.get(i).hitTanks(etankList);(敌方坦克撞敌方坦克)
三.如何制作敌方坦克的子弹打中敌方坦克,敌方坦克不消失,打中我方坦克我方坦克消失,我方坦克打中敌方坦克敌方坦克,敌方坦克消失
(1)在子弹类中定义一个打中
您可能关注的文档
- 嘉宝实业00年报.doc
- 四级作文中的有用词组.doc
- 四级必背.doc
- 四级真题2007.12.doc
- 四级词汇开头C.doc
- 四级词汇最终版4795词_20150801修订.doc
- 四级词组列表.doc
- 团体心里游戏.doc
- 园区网设计方案的选择.doc
- 国业余电台频率直频、中继一览表.doc
- 皮肤性病学测试题及答案.docx
- 皮肤性病学复习题与答案.docx
- 贵州罗甸民族中学2026届化学九年级第一学期期中经典模拟试题含解析.doc
- 2025年云南省贵金属新材料控股集团有限公司招聘考试题库及答案.docx
- 山西省(大同地区)2026届九年级英语第一学期期末达标检测试题含解析.doc
- 2025年运动康复师职业资格考试试卷及答案.docx
- 2025年云南省高级机修钳工技能知识练习题及答案.docx
- 2025年运动康复学理论练习题及答案.docx
- 2025年运动损伤处理试题及答案.docx
- 2025杭州电子科技大学招聘3人(2025年第五批)(公共基础知识)综合能力测试题附答案解析.docx
最近下载
- 基于核心素养的高中数学单元作业设计研究——以函数的概念与性质为例.pdf
- 2022北京朝阳区初二(上)期末考试语文试卷及答案.docx VIP
- 一只想飞的猫PPT课件.pptx VIP
- 《变色龙》(契诃夫)ppt课件完美版.pptx VIP
- 住建部GB 55038-2025《住宅项目规范》核心要点解读.pptx VIP
- 院内按病种分值付费(DIP)专题培训.ppt VIP
- 土壤环境背景值.pdf VIP
- 如何获取乳内动脉教案.ppt VIP
- Unit5 Fun Clubs Section A Grammar Focus课件 人教版(2024)七年级英语上册.pptx VIP
- 【宏观专题】黄金的“非寻常”定价-240531.pdf VIP
原创力文档


文档评论(0)