消灭害虫V1.0 | EliminatePests V1.0

文档更新地址:https://blog.csdn.net/COCO56/article/details/88872857
代码托管在 :https://github.com/COCO5666/Eliminate_Pests

安装包下载方式

  • 安卓
    链接一:https://www.pgyer.com/J5iR
    或扫码:
    消灭害虫V1.0 | EliminatePests V1.0_第1张图片
    链接二:点此跳转
  • Windows
    点此跳转

游戏简介

以培养绿色蔬菜为背景,在不采用农药的情况下,让玩家培育出绿色蔬菜。
在游戏中玩家通过摆放一些具有防虫功能的植物,如艾蒿、驱蚊草、洋甘菊和猫薄荷等带有驱虫作用的植物来驱赶或消灭害虫。

基本玩法:

  • 玩家进入关卡后,需要在规定的时间内种植并成功收获完成相应数量的目标植物才能胜利,否则会失败。
  • 玩家通过当前关卡后,才能解锁下一关,默认第一关不解锁。
  • 冬天关卡:最多1种害虫出现,1种战斗蔬菜可供种植,玩家胜利需要收获1株目标植物,规定通关时间60S。
  • 春天关卡:最多2种害虫出现,2种战斗蔬菜可供种植,玩家胜利需要收获2株目标植物,规定通关时间60S。
  • 秋天关卡:最多3种害虫出现,3种战斗蔬菜可供种植,玩家胜利需要收获3株目标植物,规定通关时间60S。
  • 夏天关卡:最多3种害虫出现,3种战斗蔬菜可供种植,玩家胜利需要收获4株目标植物,规定通关时间60S。

游戏逻辑

游戏场景和玩法:

第一关

通关时间:1分钟,保卫蔬菜数量5个以上。

  • 0-60s疏菜区的蔬菜开始成长并逐渐长出虫子,一个蔬菜长成只需要15秒钟,蔬菜区共培养5-15个疏菜(具体数目随机,多个蔬菜可以异步实现同时生长)
  • 9-60s蔬菜区开始长虫,一个虫子会随机生长在一个蔬菜上,一个虫子长成需要12秒钟,玩家必须在虫子生长阶段种植战斗蔬菜(战斗蔬菜应当与生虫的蔬菜保持在一定的距离之内),若虫子长成后还没有战斗蔬菜攻击它,那么此时将逐渐杀死所在的蔬菜。若虫子在生长阶段受到攻击,则会立即倒地死亡。
    则应逐渐变小死亡(死亡时间和生长时间一致,即逆向播放生长动画)。
  • 战斗蔬菜长成需要3秒钟,战斗蔬菜长成之后才能发动攻击,并且攻击范围有限。
  • 前10帧正常生长,第11帧开始生虫,虫子10帧生长动画,虫子长成后开始对植物造成有杀伤力的攻击,这时植物应该到第21帧,如果没有虫子干扰,则继续生长,如果有虫子干扰,停止生长,每秒钟降低一格血量,降低5个血量后开始执行枯萎动画(25-26帧)。
  • 第1关(冬天):1种害虫+1种驱虫植物+1种蔬菜,第2关(春天):2种害虫+2种驱虫植物+1种蔬菜,第3关(夏天):3种害虫+3种驱虫植物+1种蔬菜,第4关(秋天):4种害虫+4种驱虫植物+1种蔬菜
  • 检测方法:基于标记位的快速精准检测方案。把地图分为24块,并给每个地图一个序号。
    第六块土地的驱虫蔬菜可对周围的八块土地产生保护效果,则
    6-1=5
    6-2=4
    6-3=3

6-5=1
6-7=-1

6-9=-3
6-10=-4
6-11=-5

易得只要这块驱虫蔬菜所在的土地块的序号减去虫子生长的土地块的序号的绝对值为1、3、4、5即可对害虫产生杀伤力,检测效果很好,且很快(后期又修复了一下边界值问题)。

说明

  • 春季包含冬季的所有害虫和驱虫植物
  • 秋季包含春季的所有害虫和驱虫植物
  • 夏季包含秋季的所有害虫和驱虫植物

害虫

  • 冬季毛毛虫(caterpillar)
  • 春季蜗牛(snail)
  • 秋季蝴蝶(butterfly)
  • 夏季蚜(aphid)

驱虫植物

  • 冬,薰衣草(lavender)
  • 春,艾蒿(mugwort)
  • 秋,非洲菊(AfricanDaisy)
  • 夏,马蹄莲(callaLily)

目标植物

  • 冬,草(grass)
  • 春,向日葵(sunflower)
  • 秋,橘子(orange)
  • 夏,茄子(eggplant)

薰衣草具有很强的适应性。成年植株既耐低温,又耐高温,在收获季节能耐高温40℃左右。陕西黄龙地区,薰衣草植株安全露地越冬在-21℃;新疆地区,经埋土处理、积雪覆盖可耐-37℃低温。幼苗可耐受-10℃的低温。

  • 春,艾蒿(mugwort)
    每年3月初在地越冬的根茎开始萌发,4月下旬采收第一茬,每公顷每茬采收鲜产品11250~15000千克,每年收获4~5茬。
  • 秋,非洲菊(AfricanDaisy)
    春播3-5月,秋播9-10月。
  • 夏,马蹄莲(callaLily)
    喜温暖、湿润和阳光充足的环境。不耐寒和干旱。生长适温为15~25℃,夜间温度不低于13℃,若温度高于25℃或低于5℃,被迫休眠。马蹄莲喜水,生长期土壤要保持湿润,夏季高温期块茎进入休眠状态后要控制浇水。土壤要求肥沃、保水性能好的黏质壤土,pH值在6.0~6.5之间。

美工任务:

设计分辨率:1024*576
虫子死亡动画及生长动画,需要保护的蔬菜生长及死亡动画,战斗蔬菜生长动画。

代码任务:

封装一个新的引擎

基于Cocos2d-x 3.17.1和C++ 17构建QE(Quick Engine,快速引擎)来尽可能多地提升代码的复用性。

QE(Quick Engine,快速引擎)简介:
基于Cocos2d-x 3.17.1、C++ 17构建,用来尽可能多地提升代码的复用性。
QE具体表现为:优化默认的参数值及参数列表,使原来需要数行代码才能完成的功能,现在只需要一行代码就能完成。

比如:
1.快速生成背景精灵、设置锚点和位置均为(0, 0)、并添加到当前节点,只需要调用一个宏就行了。
记得把资源改成bg.png。
调用“QE_addBgSpriteToThis”这个宏即可,无需多于代码,也不需要传递任何参数

2.快速生成菜单,传两张图片的名以及一个可调用对象即可。

类和界面的关系

  • 游戏启动资源加载界面:LoadingScene
  • 开始游戏界面:StartGameScene
  • 关卡选择界面:SelectLevelScene
  • 游戏界面:GameScene
    支持类:
    1.游戏暂停界面:PauseScene
    2.计时器:TimerLayer
    3.害虫类:PestLayer
    4.需要保护的蔬菜与战斗蔬菜:VegetableLayer

你可能感兴趣的:(C++,COCOS2D-X,参与开发或维护的,Cocos2d-X,二维游戏开发)