作者:张洋 开始时间:2013.04.05 结束时间:2013.05.01 文件数:48 代码行数:3182(行) 一、游戏简介:餵魚! 打擊怪物! 此引人入勝的動作迷題冒險魚集區是您曾經見過的最令人瘋狂的魚集區! 在探索此迷人的水下世界時買魚、贏得寵物以及揭開許許多多隱藏的秘密。然後將自訂的魚貯藏在虛擬魚缸中以建立自己的私人螢幕保護程式! 一、游戏操作说明: a.遊戲控制
按一下魚缸以投放魚食給魚吃。隨著魚不斷進食和長大,它們會產下錢幣,這時能夠得到新的魚和升級品。當怪物出現時,按一下它們用您的雷射武器向它們射擊。您可以在怪物的附近按一下,使它向相反方向偏移。例如,如果在怪物正上方按一下,它將開始向下移動。使用此技巧引開怪物,讓它們遠離您的魚! b.目的 瘋狂水族箱中每一關的目的是足夠的錢購買3 個蛋殼。當您購買了所有三個蛋殼後,將會獎勵給您一隻新寵物,您可以將它加入您的收藏中。要賺錢,請購買並餵養魚,以便魚能夠長大並產下錢幣。較大的魚會產下價值較大的錢幣。按一下魚產下的錢幣、寶石或其他有價值的東西。當心怪物,它們會不時地出來吃魚。用賺的錢買新古比魚、魚食升級品、武器升級品和有助於較快過關的其他物品。 三、程序框架说明: 此游戏依赖于cocos2d-x(2.0.2版本)引擎作为渲染完成,使用Microsoft VisualStudio 2005编译。 整个游戏分为几大模块: 1.游戏主管类(gameMain): 由游戏主管类来创建所有唯一的单件使其实例化,里面包含的类有管理中心类,游戏运行时数据类,游戏静态数据类,资源文件名配置文件类,场景管理类,这是整个程序的开始,它的作用好比一家新店的开幕仪式。 2.画布场景管理类(sceneMng): 画布场景管理类来管理用户界面场景和游戏场景的切换,两个场景各自又分为许多的层,把这些所有的层组合在一起来完成一个场景; 3.消息管理类(messageCenter): 消息管理类的存在是很有必要的,它在整个游戏程序中占有很重要的地位,它就好比一个酒吧的吧台,它的好处就是可以处理来至任何类里发送过来的消息,来完成整个程序的内部联系。 4.游戏静态数据类(gameStaticData): 游戏静态数据类存储了所以游戏要用到的静态数据,就好比一个仓库,把要用到的静态数据放到里面,要用的时候直接取出来用。 5.资源文件名配置文件类(ResfileNameS): 资源文件名配置文件类的作用显而易见,可以让你在任何地方用你取好的文件名来获取到文件的路径。 6.Npc基类: 由游戏层调用Npc基类,Npc基类再去分给所以继承于Npc的子类,比如鱼类,金币类,食物类,这些子类的逻辑到自己继承的虚函数里完成。Npc基类实现了一个简单工厂的功能方便的创建出它的附属子类。这样实现封装显示的部分,提供统一的简化接口。 四、技术点使用说明: 开始的界面是用到了进度条(CCProgressTimer)来实现的,后面的按钮界面是通过window鼠标移动消息来改变按钮的状态的,需要通过修改cocos2d-x源码来获取到这个鼠标移动消息的坐标,cocos2d-x本身是没有鼠标移动事件的,另外那些宠物按钮是通过一个二维数组来存储,通过双循环来实现按钮摆放位置。鱼的动画是在帧循环里进行实现的,用到枚举和switch来转换鱼整个的状态,点击触发事件来new出食物,鱼追踪食物隐射的用到了向量的知识。蜗牛实现用到了循环遍历比较大小求出最短距离。Boss是用到定时器的感念。npc的子类鱼,金币,食物由stl里的map容器来存储,从而方便遍历来检测碰撞和取出其中的元素等。文件的路径等一些npc的数据和路径都由xml存储方便获取。 五、设计模式的使用。 Npc基类用到外观者模式和简单工厂的感念,消息循环用到了监听者模式。
|