基于JAVA实现的坦克大战游戏

一、课程题目

实现一个java版本的坦克大战游戏。

功能提示

游戏要有图形用户界面,界面能够反映游戏所有的细节

界面中要有坦克,墙,树林,河流

界面中要有一个“家”,“家”被攻击中则输了游戏

坦克分两种,敌方和我方

墙也分为两种,可以穿透的普通墙,不可以穿透的铁墙

树和河流均只有一种,树林坦克可以通过

坦克可以发射子弹,敌我方的子弹属性一样

我方子弹可以杀死敌方坦克,敌方子弹也可以杀死我方坦克,但需要多枪子弹才可以杀死

敌方之间不可以杀死对方

子弹击中坦克要有爆炸,但击中墙不能爆炸

我方可以吃血包增加生命

游戏可以暂停,重新开始,游戏帮助等功能

二、题目分析与设计

2.1 需求分析

设计一个图形用户界面,将所有游戏的元素都能在此用于界面上表现出来,界面能够接受用户的操作,具有人机交互功能。用户可以选择重新开始游戏,退出游戏,暂停游戏和查找游戏帮助。

界面中包含坦克,树,河流,阻挡墙和游戏用户所要保护的“家”。

坦克:坦克分为两种,敌方坦克和用户控制的坦克。用户方和敌方坦克均可以发射子弹,可以改变路径的行走,且在行走过程中遇到墙等阻碍物和游戏边界时要改变方向,而不能一直顶着障碍物不放。坦克之间不能穿越,碰撞到后自动调换方向。

:界面中要包括树林,作为遮掩物体和修饰物体,以便增加游戏的元素,使得游戏更加贴切人性化。树的数目不限,以游戏整体界面清晰美观来决定数目。

河流:界面中要包括河流,河流作用与树林相同,同样河流的数目不限,以游戏界面整体美观度来决定数目。

:墙体分为两种,普通的墙和铁墙,普通的墙在受到子弹袭击时会损坏,而铁墙可以阻碍子弹的穿越。两方的坦克均不能穿越两种墙体,但都可以摧毁普通墙体。普通墙体的数目配合其他元素合理安排,铁墙则不宜过多,不然游戏难度太低甚至因为坦克不能穿越铁墙而使得游戏无法进行下去。

:用户方除了有一辆自己的坦克外还有一个要保护的家,家由普通墙体包围,家受到子弹攻击后游戏立即结束,用户方则输了本局游戏。

子弹:子弹可以由敌方和用户方发射,且发射出去的子弹可以直线移动,直到碰到障碍物就消失,子弹可以穿越树林和河流。敌方坦克受到一颗子弹攻击会爆炸从而导致死亡,死亡后坦克消失。用户方受到子弹攻击后会减少寿命,且受到四次攻击则死亡,此时如还有敌方坦克存在,则用户方输掉本次游戏。

爆炸:当子弹射击到坦克身上时,要产生爆炸效果。

方向:坦克和子弹都有方向,可以选择上下左右四个方向,且子弹的方向从属于坦克的方向。

点击此处下载文档和源码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 坦克大战运用到的Java知识:集合、Swing、线程。 编程思想: 在主类开启一个线程,没50毫秒循环一次画方法(...
    心空如大海阅读 533评论 0 0
  • 从小到大,看着我们的qq好友,从亲密,变到淡漠,变到不联系,最后失去了联系方式,我们有着美好的过去,我总是在回...
    如你所想阅读 205评论 0 0
  • 引言 内部进程间通讯和数据交换有消息、共享内存、匿名(命名)管道、邮槽、Windows套接字等多种技术。其中利用消...
    gdoupangq阅读 541评论 0 2
  • 太阳从窗缝里挤进来,五月的上海,这是难得的好天气,大飞看了看身旁的女子,揉了揉肿胀的眼皮,“昨晚又断片了?”思索着...
    大牛的白日梦阅读 236评论 0 1
  • 很多人们不知道什么时候会有变故,职位与单位的变迁,年前与年后截然不同,二指宽的调令决定一个人的命运。 官场生涯多边...
    阿略1阅读 1,516评论 13 37