1 Star 0 Fork 0

心向阳光的天域 / TankBigWarGame

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

TankBigWarGame

介绍

TankBigWar,坦克大战,跟着韩顺平老师的30天Java基础课程一点一点自己敲的,完成后很有成就感

界面展示

界面展示 信息界面

软件架构

软件架构说明:简单用JFrame组件绘制的坦克和界面,对于多线程、面向对象编程、JFrame的使用有很好的帮助,是初学者不错的练手项目。 系统架构

安装教程

  1. 下载后只需要执行Main方法即可
  2. 声音和txt文件统一放到src目录底下,用的是相对路径编写的代码,所以不用担心运行不了
  3. 启动Main方法后,要在控制台选择是新游戏还是读档,键盘输入1:新游戏;键盘输入2:读档 选择模式

游戏说明

  1. 右侧是击毁敌方坦克数量、玩家坦克剩余数量
  2. 进入游戏后,一般输入法会切换成中文,要默认切换一下再进行操作
  3. 键盘方向键控制坦克方向,空格键射击。
  4. 进入游戏后按数字键1可以召唤敌方坦克
  5. 进入游戏后,如果我方坦克被敌方摧毁,可以按数字键2原地复活
  6. 进入游戏后有BGM背景音乐、我方发射子弹有音效、我方或者敌方坦克被摧毁有爆炸音效

项目涉及技术功能

  1. 玩家坦克移动、开火、撞墙判定
  2. 敌方坦克多线程移动、开火、移动时碰撞判定和转向
  3. 背景音乐
  4. 游戏进度存档
  5. 玩家击毁后原地复活
  6. 召唤敌方坦克
  7. 显示玩家坦克剩余生命,显示击毁敌方坦克数量
  8. 点击叉关闭窗体后保存敌方坦克位置,后续读档的时候可以恢复敌方坦克位置

游戏结束判断

  1. 敌方击败我方坦克3条命,即游戏结束 游戏结束

项目不足与优化空间

  1. 游戏结束后无背景音乐
  2. 碰撞处理:敌方坦克在运行时,碰撞后会发生转向无误,但是如果转向的时候发生碰撞,则两辆坦克会卡住
  3. 可以增加游戏结束机制:比如可以增加胜利条件,击毁多少敌方坦克就可以胜利,或者增加我方的家,一旦敌方击毁我家即失败
  4. 在召唤敌方的基础上,做到触发定时任务,每隔一段时间召唤一定数量敌方坦克
  5. 增加我方坦克的碰撞处理
  6. 直接点叉关闭窗口的时候,保存我方坦克位置,下次读档的时候恢复我方坦克位置、敌方子弹位置、我方子弹位置
  7. 增加一定障碍物:墙壁、河流、绿茵等等
  8. 显示敌方剩余坦克数量

空文件

简介

TankBigWar,坦克大战,跟着韩顺平老师的30天Java基础一点一点自己敲的,完成后很有成就感 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/wangtian-yu/TankBigWarGame.git
git@gitee.com:wangtian-yu/TankBigWarGame.git
wangtian-yu
TankBigWarGame
TankBigWarGame
master

搜索帮助