植物大战僵尸卡牌怎么做,植物大战僵尸卡牌手游

首页 > 游戏 > 作者:YD1662023-06-01 22:55:21

植物大战僵尸卡牌怎么做,植物大战僵尸卡牌手游(5)

看着这极其复杂好像很厉害的代码,我又萌生了痛下狠手的想法,但为了保持原生,我忍住。于是乎还发现了一个BUG。如果选中铲子后,战场上唯一的植物被僵尸吃掉了,那么这个铲子将一直跟随着鼠标无法达到使用后消除的效果了。解决方案当然也很简单,当战场上植物集合的size为0时,清空铲子集合即可。

3.游戏可玩性的优化

上文在游戏设计中提到的击*僵尸后可能随机获得奖励类型是这样实现的。还是从设计分析开始,并非击*任何类型的僵尸都可以获得奖励,所以奖励应该放在接口中:

publicinterfaceAward{ // 奖励接口 /* * 这里还是存在代码不规范的问题 * 接口的方式默认是public abstract * 接口中的变量默认是public static final * 这些默认的字段应该舍去 */ // 全屏静止 publicstaticfinalintCLEAR =0; // 全屏清除 publicstaticfinalintSTOP =1; publicabstractintgetAwardType(); }

当僵尸死亡时,需要去判断该僵尸是否有奖励接口,如果有则执行相应奖励的方法:

// 检测僵尸状态 publicvoidcheckZombieAction(){ // 迭代器 Iterator<Zombie> it = zombies.iterator(); while(it.hasNext()) { Zombie z = it.next(); // 僵尸血量小于0则死亡,死亡的僵尸从集合中删除 if(z.getLive()<=0) { // 判断僵尸是否有奖励的接口 if(z instanceof Award) { Award a = (Award)z; inttype = a.getAwardType(); switch(type) { caseAward.CLEAR: for(Zombie zo:zombies) { zo.goDead(); } break; caseAward.STOP: for(Zombie zom:zombies) { zom.goStop(); timeStop =1; //zombieGoLife(); } break; } } z.goDead(); it.remove(); } // 僵尸跑进房子,而游戏生命减一,并删除僵尸 if(z.OutOfBound()) { gameLife--; it.remove(); } } }

4.添加游戏背景音乐

bgm是一个游戏的灵魂之一。这里给游戏添加背景音乐,我的选择是新建一条线程专门用来执行音乐的解析和播放:

// 启动线程加载音乐 Runnable r =newzombieAubio("bgm.wav"); Thread t =newThread(r); t.start(); publicclasszombieAubioimplementsRunnable{ // 读音频WAV格式专用线程 privateString filename; publiczombieAubio(String wavfile){ filename=wavfile; } ......

这里需要注意的是,Java中解析音乐的API只支持WAV格式的文件,文件格式的转换大多数音乐播放器都可以做到。

后续优化

1.植物种类的扩充及对应功能的实现

比如*伤力最大的玉米加农炮。需要4个小玉米进行合成,那么在判断是否能够合成玉米加农炮时,需要对植物集合进行遍历来做坐标的判断,所以这边建议最好把可合成的植物单独放在一个集合中,这样在做合成判断的时候会简单很多,当集合的size小于4时,就可以提示合成失败了。冰冻西瓜的设计思路也是如此。

2.动作类僵尸的加入,如撑杆跳僵尸、跳舞僵尸等

说一下撑杆跳僵尸的设计思路,此类僵尸和其他僵尸相比,多了一种跳的行为,所以会有一个单独的方法和单独的状态。并且,跳只能触发一次,所以撑杆跳僵尸的状态变化应该是行走->遇到植物跳过去->再遇到植物就开始攻击,在执行状态变化的时候,应该要去考虑当前的状态是否还可跳跃。

3.当植物攻击范围内不存在僵尸时,植物停止攻击

这个就简单拉,在植物执行攻击方法时,校验一下是否有Y坐标相同的僵尸即可。


除植物大战僵尸外,小编还有飞机大战,坦克大战等的教程 源码,同时小编也准备了300集全套Java教程送给大家。

转发 关注并私信小编“资料”即可领取

植物大战僵尸卡牌怎么做,植物大战僵尸卡牌手游(6)

植物大战僵尸卡牌怎么做,植物大战僵尸卡牌手游(7)


以上这些课程如果想要了解的请私信小编“ 资料”即可了解,小编回复的比较慢,喜欢小编的可以关注支持一下,谢谢大家支持!

上一页12末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.