三消游戏开源(使用cocos2d-x实现)

引言

消除类游戏是非常受大家欢迎的一种游戏类型,我就经常在轻轨上看到各种年龄段的人在玩。于是我就动手来实现一个,并做了一个DEMO(使用目前最新的cocos2d-x 3.6),大家可以随意修改。既然网上有很多游戏源码,我想我的应该要有一些特色。不能老是千篇一律。先给大家看看效率图,动态图比较大,可能加载很慢。(本文不会讲实现细节,如果读者想知道这方面的东西可以自行阅读源码,注释还是比较详细的。)

特点

  • 游戏地图可编辑,可发挥自己的创意
  • 游戏算法与界面分离,可以很容易移植到其它游戏引擎

源码目录

由于只是一个DEMO,代码不多。其实本来我是想做一个完整的游戏了,而且已经做了一部分了。无奈懒得调UI就烂尾了。下面介绍下主要的源码:

  • Backend 游戏算法相关的代码,独立于UI,可以拿到其它游戏引擎直接使用的;
  • Config 负责读取游戏配置和解析地图配置的代码;
  • Element 游戏中的精灵,继承自Sprite,用于播放各种动画;
  • GameLayer 负责显示游戏界面,并和Backend 进行互动;
  • Types 数据类型的定义

地图编辑

借助tiled编辑器用户可根据自己的喜好自行编辑各种“奇形怪状”的地图导入到游戏中。编辑规则也非常简单,如下:


在tiled地图中,任何图块都表示为该区域会出现精灵。没有区域没有图块,则该区域不会出现精灵。左上角的图层名称表示精灵种类的数量(DEMO中默认为9)。值得注意的是地图顶部如果有多个凸出部份,那么他们的高度必须一致。因为新的精灵总是从最顶部掉下,并且最后下落不会上升(需求如此,这不是BUG)。

使用代码如下:

// 创建游戏图层
auto layer = GameLayer::create();
layer->SetMap(Config::GetInstance()->ReadMapConfig("map/map.tmx"));
addChild(layer);

配置文件

为了方便修改游戏参数,我做了一个配置文件。文件位于Resources/config/config.json。

{
    "Width": 74,                // 精灵图片宽度
    "Height": 73,               // 精灵图片高度
    "TypeQuantity" : 9,         // 最大精灵类型数量
    "MoveTime": 0.25,           // 移动耗时
    "FallDownTime": 0.10        // 下落耗时
}

源码下载

https://github.com/zhangpanyi/Eliminate

转载请注明出处:http://www.cnblogs.com/zhangpanyi/

时间: 2024-10-29 00:58:43

三消游戏开源(使用cocos2d-x实现)的相关文章

消消乐、candy crush类三消游戏程序逻辑分析

最近在开发一款类似消消乐的三消游戏,在碰到实现斜方向下落的时候卡住了很长时间.好几天没有思路,原本的思路是一次性预判多个宝石的一连串运动路径,运用缓动运动队列来实现宝石运动路径,例如 下落->滑落->下落.用这种方式虽然会提高性能,但发现总是无法预判所有宝石运动路径,可能性太多了,比如某一个宝石的下落原本只会朝下,但加入了斜下落后会有三种可能,左下,下,右下,20个宝石的下落就会有3的20次方种可能,其产生的可能性会呈指数级别增加,是不可能预测的,也就是用动画队列来实现完全不可能.于是放弃这种

什么是三消游戏

[什么是三消游戏] 三点或多点,以连接相加的形式逆向消除,这就是三消游戏的定义了.三消游戏中最具代表性的游戏莫过于蒙特祖玛的宝藏系列了,该系列作品除了继承传统三消游戏的特点外还加入了益智的环节,让人欲罢不能!而亚特兰蒂斯的召唤系列三消游戏,则完全重新的诠释了三消游戏,在游戏中加入了故事情节.任务等新的元素,让三消游戏老树开新花,更加的耐玩,更有趣味性! 参考:http://www.appifan.com/topic-234

Cocos2d-x3.2刀塔创奇三消游戏源码,跑酷游戏源码,塔防游戏源码

闲的无聊, 写了三个小游戏,基本知识点如下 三消游戏: 原理是一个二维数组, 跑酷游戏: TiledMap,Sprite以及动画层和地图层的碰撞 塔防游戏: Cocostudio UI编辑器,动画编辑器,场景编辑器,动态获取场景 UI编辑器的动画 TiledMap,Action动画,节点自动删除 关卡数据配置文件,关卡切换 异步加载资源 ------------------------------- 最近很忙,就到这里了,看不懂代码等我的新书吧<Cocos2d-x3.2教程> 下载地址 三消游

四色三消游戏算法

四色三消游戏算法 下面是用python写的四色三消游戏算法,很容易改成更多颜色和行列的.基本思路就是3个一样的diamonds连在一起就可以消除.废话不说,上代码: #!/usr/bin/python #-*- coding: UTF-8 -*- #====================================================================== import os import sys import getopt import time import

Cocos2d-x《赵云要格斗》游戏开源啦!要代码要资源就来!~~~~~~~~~~~~~~~~~~~~~

笔者自行开发的Cocos2d-x原创游戏<赵云要格斗>这里把全部的代码和资源全部共享,保证全部可以免费下载,笔者之前开发这个游戏的时就说过,此游戏最后一定会开源.游戏其实还没弄完,只是近期好多博友都在找笔者要代码要资源,笔者原本是想等游戏全部完成之后,再来公布的.现在打算提前点,笔者也认为社区大于代码,开源好于自己闭门造车.虽说笔者这游戏也很简单,代码有些地方也学有待完善,还是有很多地方需要增强.但是,笔者还是打算公布出来,而且要全部免费下载,论坛下载积分对我也没什么用,也希望下载后的人,有什

cocos2d-x快乐的做让人快乐的游戏3:cocos-2d 3.x中的物理世界

Cocos2d-x 3.0+ 中全新的封装的物理引擎给了开发人员最大的便捷,你不用再繁琐与各种物理引擎的细节,全然的封装让开发人员能够更快更好的将物理引擎的机制加入?到自己的游戏中,简化的设计是从2.0到3.0+的一个质的飞跃.(假设用的2.x版本号的cocos2d-x,看前一篇文章box2d) 以下相同以一个小demo来展示一下物理引擎的运用,同一时候说一下我在运用物理引擎中遇到的一些小小的问题. Cocos2d-x 3.0+中的物理属性: 1.物理世界被集成到场景中,当你创建一个场景,你能够

cocos2d-x 3.2 它 三消游戏——万圣节大作战

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 首先祝大家万圣节快乐呀~ 紧赶慢赶.第二款cocos2d-x游戏最终出来了. 万圣大作战 三消类的游戏 以下是游戏的一些截图~ 主界面 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHR0cmVl/font/5a6L

iOS cocos2d游戏引擎的了解之一

ios游戏引擎之Cocos2d(一) cocos2d是一个免费开源的ios游戏开发引擎,并且完全采用object-c进行编写,这对于已经用惯object-c进行ios应用开发的童鞋来说非常容易上手.这些也是我推荐使用cocos2d进行ios游戏开发的原因,当然从字面上已经可以开出来,这是一款专注于"2d"游戏的开发引擎,您也可以自己编写3d渲染代码或者使用第三方的解决方案,在cocos2d里加载显示3d模型.此外对于3d,也可以选用cocos3d来进行游戏开发.好了,废话不多说,还是先

cocos2d-x 3.2 之 三消类游戏——万圣大作战 (第一篇)

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 废话: 放寒假了,放松了一下下....(有点多) 前几天 办了张健身卡,准备减肥了,健康重要啊,尤其是身为 程序猿. 话说,办完卡做的体测,20多岁的我,现在身体年龄竟然达到了40 ! 然后,拿了一个韩版 三星 Galaxy S 刷汉化,用惯了一键刷机,这些东西