- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
植物大战僵尸安放植物接下来需要实现安放植物的逻辑,首先我们需要将可以安放植物的点加载出来,安放植物的点放在二维数组中,因为每个点都是有第几行和第几列构成的。然后当点击已选植物框内的植物的时候,需要将被点击的图片变为灰色,最后点击草坪的时候去安放植物。加载安放植物的点的实现如下,需要在游戏开始的时候去调用。/*** 开始游戏*/publicvoidstartGame(CCTMXTiledMapmap,ListShowPlantselectPlant){this.map=map;this.selectPlant=selectPlant;isStart=true;//是否开始游戏的标记zombiesPoint = CommonUtil.loadPoint(map,road);//初始化僵尸的坐标点CCSchedulerscheduler=CCScheduler.sharedScheduler();//定时器scheduler.schedule(loadZombies, this,2, false);loadPlantPoint();}/*** 加载安放植物的点*/private void loadPlantPoint(){Stringformat=tower%02d;for(inti= 1; i =5; i++) {ListCGPointloadPoint =CommonUtil.loadPoint(map, String.format(format,20.i));for(intj = 0; j loadPoint.size(); j++) {22. plantPoint[i-1][j]=loadPoint.get(j);}}}为了方便的判断该列上面有没有植物和僵尸,我们需要定义一个“FightLine”用 hashMap 存放该列上面的植物和僵尸。package com.itheima.pvzhm.domain;import java.util.HashMap;import java.util.List;import java.util.concurrent.CopyOnWriteArrayList;import com.itheima.pvzhm.domain.base.BaseElement.DieListener;import com.itheima.pvzhm.domain.base.Plant;import com.itheima.pvzhm.domain.base.Zombie;/**战线**@author 子豪**/public class FightLine {publicFightLine(int i){}//保存该战线上所有植物private HashMapInteger, Plant plants=new HashMapInteger, Plant();//维护所有僵尸Private CopyOnWriteArrayListZombie zombies=new CopyOnWriteArrayListZombie();/*** 添加僵尸*/publicvoidaddZombies(final Zombiezombie){zombie.setDieListener(newDieListener(){@Overridepublicvoiddie() {28. zombies.remove(zombie);//僵尸死亡,从集合中移除}});zombies.add(zombie);}/*** 添加植物*/publicvoidaddPlant(finalPlant plant){plant.setDieListener(new DieListener() {@Overridepublicvoiddie() {40.plants.remove(plant.getColumn());}});plants.put(plant.getColumn(),plant);}/*** 判断该条线是否包含植物* @return*/publicboolean containsPlant(PlantmPlant){ //判断 hashmap 的键集合中是否包含传进来的植物的列数returnplants.keySet().contains(mPlant.getColumn());}}GameEngine 中需要初始化一条战线。static{fightLine=newArrayListFightLine();for(inti= 0; i 5; i++) {FightLine line=new FightLine(i);fightLine.add(line);}}在随机加载僵尸的时候需要将僵尸添加在战线上面。/*** 加载僵尸*/public
您可能关注的文档
- 《孙膑》课件[2012.3.5].ppt
- 汉字读音[9000字]速查表.doc
- 鲜花插花培训班.docx
- 考核项目详细说明.docx
- 立体停车设备-机器人搬运方式[汇总].docx
- 无针水光针效果水光针多久有效果无针水光图片.doc
- 第二部分WindowsXP操作系统上机实验.doc
- 第三单元第8课《一个文官死》-苦涩笑.ppt
- 浙江省嘉兴一中10—11学年高一上学期期中试题语文.doc
- 立体车库-机器人搬运方式[汇总].docx
- 2025浙江温州市公用事业发展集团有限公司面向高校招聘工作人考前自测高频考点模拟试题最新.docx
- 2025年蓬安县财政局下属单位招聘备考题库附答案.docx
- 广安市农业农村局2025年公开遴选市动物卫生监督所工作人员备考题库附答案.docx
- 南昌市劳动保障事务代理中心招聘3名劳务派遣驾驶员参考题库附答案.docx
- 2025浙江绍兴市新昌县机关事业单位招用编外聘用人员36人备考题库最新.docx
- 浙江国企招聘-2025嘉兴海盐县城市投资集团有限公司招聘7人笔试备考试题附答案.docx
- 长沙银行2026校园招聘备考题库最新.docx
- 2026年度中国地震局事业单位公开招聘备考题库附答案.docx
- 2025福建省晋江圳源环境科技有限责任公司招聘6人模拟试卷附答案.docx
- 浙江国企招聘-2025温州平阳县城发集团下属房开公司招聘5人公笔试备考试题附答案.docx
原创力文档


文档评论(0)