' _% f. ~3 v2 {& e& N2.基础结构编写 4 o) I8 W9 U7 l, S! v窗体:GameFrame extends JFrame : \) x+ [- k1 b2 j" U) D; `画板:GamePanel extends JPanel 7 c n! z! X* K2 ]7 R资源管理:Res ; j3 x6 X" Y& U0 k! @4 W
数据管理:Data 6 ]2 I% A- Y+ M- C/ ~
中心计时器:Timer extends Thread / M# V3 Q) X) v, {6 w. l M' R: N; a$ w# Y2 `& z
+ l+ b# \0 {$ ?; j q! Y' s
3.让坦克动起来 ) i% k) |( W: D3 F: F--3.1.在Tank中添加move方法,在画板重绘时调用 : |4 Y- d, c6 O, r c8 [--3.2.在窗体中加键盘监听,控制玩家坦克移动 ( {- A: \% G& p" F
--3.3.边界限定,防止坦克移动到视野外 - J$ T' t5 J- o/ o$ v; S
9 g4 Z. F; B1 |- F' c. w
( ]7 Y" t0 j# ?; q/ _# b5 Q4.添加可以360度旋转的炮筒 6 N T! { j" D ^' l; M7 {--4.1工具类 $ \3 {6 W* E% M2 }; C--4.2加入资源(红蓝炮筒) ( C7 I7 r* K. i( i4 O--4.3指定方向画出炮筒 ) |2 k. j& n& V L. E' Q6 g: m7 B
--4.4加入target变量(目标点),geters and seters,绘制,加鼠标监听,设置目标点 , M7 i7 r" K1 _5 }$ B8 ?5 z! d K
1 o* s6 k/ c1 q$ h5 s' w h- W- X0 @# |) S
5.让坦克可以打出子弹 % Z# U, @0 }' P9 g! x$ C2 I6 w, f
--5.1 新建子弹类 o* v5 c( L4 r9 ]% j4 |* o
--5.2 把子弹加入到游戏架构中 ' I9 v% ]3 ^ @" K2 T
--5.3 画出子弹 6 q+ b [; H$ V5 f# A$ N2 e--5.4 attack # p. e! \- o/ A v6 |" ]: i/ m) F" Z3 {! M- I
7 E$ R+ S3 v# c9 k
6.解决前面问题,调整优化 ) T7 B3 b6 c# a1 X% r1 F--6.1 将点系统数据换成double类型 7 k. Z" b& J9 w" b6 m- R% `# n8 Y: y--6.2 调整坦克的目标点位置在鼠标头部 X, U- X; W* H* |2 P! r' A--6.3 把鼠标监听mouseClick改为mousePressed 4 S F% Z0 D6 b t0 n$ _1 q, M--6.4 修改两点方向计算方式,让右方向为0度;调整炮筒与角度的关系; - `) P3 o4 f# F" q# u
--6.5 子弹从炮口发出 3 n8 r9 j8 ?- | i5 W
% n# ^0 z k% e) S/ n0 j* v3 k/ Z& }0 d x
7.一大波机器人正在靠近 E# T7 L v. `
--7.1 分队伍,变颜色 % Q$ k) D8 a, a, y--7.2 创建Robot类继承Tank , l: @( w- I. Z, R, e. {--7.3 简单AI让Robot动起来 7 ]) r) I! n* {8 L, K
--7.4 把Tank中的target的类型从awt.Point改为ZZPoint(属于数据调整优化) 7 X# t3 o2 \' ~) I) C
--7.5 让Robot随机指定目标点 & R' c" E2 O2 Q' f--7.6 让Robot随机指定玩家坦克进行攻击(坦克中的设置目标点方法对鼠标坐标进行了优化,这个优化会导致Robot目标点设置不准确,所以需要把那两句调整x,y的代码放到鼠标监听中) , a* K0 ^$ N- L; _ , ^9 W4 H! g9 _3 j- B! _" D1 A& P, C( j, D0 Y0 r4 o5 Y4 n( \
8.游戏数据的管理与维护 4 ?3 j+ w U+ [9 p
--8.1 工厂模式创建对象 # N+ X+ s( D' b, V--8.2 移除游戏数据的方法 ) o1 V$ W; C$ V* L 2 @" _! W0 ?4 q1 _5 ?/ K & Z" W' P, y. o9.这子弹是真的 ; ^1 R( M, f8 `! `) w2 U+ b5 x9 Z( H--9.1 在子弹移动过程中遍历所有坦克计算距离 7 q8 R1 A; Y3 ~5 S1 n
--9.2 让子弹不伤害自己和队友 0 k' `( l8 M. ?: M9 ?% N1 F--9.3 给坦克加上攻击力和生命值 ! ^. }- ]- f6 w7 q3 G H& Z- d( s* G) }--9.4 绘制血条 , y* `- @5 t8 Q' C: I6 d
e% }0 U8 S3 O
% ^. @: S! M; g, W# Q10.特效 ' o* x `5 i. w, `
--10.1 加载素材 & ~9 L0 J1 I6 V+ q i
--10.2 编写Effect类,加入到游戏架构中 1 m. D" R/ q6 Y& S2 f; w
--10.3 实现多种特效,添加特效播放速度 " G8 K5 z2 d q3 e' p Z4 g--10.4 特效播放次数 5 P" V) _1 b2 ^5 o
--10.5 特效跟随 - ]# N+ I& v- h W# a W
( }4 Q* t3 L* S3 o; p% s- |& U
* A+ j, b' ~3 M) G8 B) W: M# L: g
密码: