admin 发表于 2016-12-8 14:14

JavaSe坦克大战项目实训源码+视频+文档

【大连理工大学】Java坦克大战项目实训,坦克可以4个方向移动,炮筒可以随鼠标360度旋转,鼠标左右键射击,伤害/碰撞/技能/AI/特效。





项目说明:
1.程序结构分析:
--1.1 窗体: 顶层容器,用来显示画板等UI组件
--1.2 画板: 取出游戏数据进行绘制
--1.3 资源管理: 统一管理所有素材,任何地方可以直接访问
--1.4 数据管理: 要求游戏中任何地方可以直接获取数据
--1.5 中心计时器: 让画板反复绘制


2.基础结构编写
窗体:GameFrame extends JFrame
画板:GamePanel extends JPanel
资源管理:Res
数据管理:Data
中心计时器:Timer extends Thread


3.让坦克动起来
--3.1.在Tank中添加move方法,在画板重绘时调用
--3.2.在窗体中加键盘监听,控制玩家坦克移动
--3.3.边界限定,防止坦克移动到视野外


4.添加可以360度旋转的炮筒
--4.1工具类
--4.2加入资源(红蓝炮筒)
--4.3指定方向画出炮筒
--4.4加入target变量(目标点),geters and seters,绘制,加鼠标监听,设置目标点


5.让坦克可以打出子弹
--5.1 新建子弹类
--5.2 把子弹加入到游戏架构中
--5.3 画出子弹
--5.4 attack


6.解决前面问题,调整优化
--6.1 将点系统数据换成double类型
--6.2 调整坦克的目标点位置在鼠标头部
--6.3 把鼠标监听mouseClick改为mousePressed
--6.4 修改两点方向计算方式,让右方向为0度;调整炮筒与角度的关系;
--6.5 子弹从炮口发出


7.一大波机器人正在靠近
--7.1 分队伍,变颜色
--7.2 创建Robot类继承Tank
--7.3 简单AI让Robot动起来
--7.4 把Tank中的target的类型从awt.Point改为ZZPoint(属于数据调整优化)
--7.5 让Robot随机指定目标点
--7.6 让Robot随机指定玩家坦克进行攻击(坦克中的设置目标点方法对鼠标坐标进行了优化,这个优化会导致Robot目标点设置不准确,所以需要把那两句调整x,y的代码放到鼠标监听中)


8.游戏数据的管理与维护
--8.1 工厂模式创建对象
--8.2 移除游戏数据的方法


9.这子弹是真的
--9.1 在子弹移动过程中遍历所有坦克计算距离
--9.2 让子弹不伤害自己和队友
--9.3 给坦克加上攻击力和生命值
--9.4 绘制血条


10.特效
--10.1 加载素材
--10.2 编写Effect类,加入到游戏架构中
--10.3 实现多种特效,添加特效播放速度
--10.4 特效播放次数
--10.5 特效跟随


密码:qytz

哈哥白尼 发表于 2016-12-16 17:03

热土的法国代购代购的身份给第三方

稚嫩的少年 发表于 2016-12-20 13:53

辛苦了感谢分享
页: [1]
查看完整版本: JavaSe坦克大战项目实训源码+视频+文档