Java坦克大战项目实训(大连理工)

概要:

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

| |目录

[大连理工]Java坦克大战项目实训

项目导师:夏增明



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 特效跟随 



视频、源码、文档:http://pan.baidu.com/s/1pJO9RCJ

评论关闭
评论 还能输入200
评论关闭
评论 还能输入200
  • 全部评论(0)
资料加载中...
已关注 , 取消