基于最新版 Cocos2d-X 3.17 与 cocostudio V3.10 开发的单机麻将游戏,麻将算法为商业级麻将服务器端算法,整个项目代码精简、注释详细。
如果你刚刚接触Cocos2d-X 这绝对是个不错的入门项目
如果是你C++初学者或者其他语言转游戏开发,这项目没有复杂的语法绝对是一个不错的学习项目
如果你是游戏开发从业者想转行棋牌行业,这项目的棋牌算法绝对能够给予你启发
游戏引擎基于最新版本 Cocos2d-X v3.17
游戏UI设计使用 Cocostudio3.10
游戏使用C++开发
商业级麻将算法
由于Cocos2d源码比较庞大,GIT上不包括Cocos2d-X 3.17源码,所以第一步需要下载并且安装cocos2d-x-3.17 安装好后使用命令行创建个新项目,将项目里的cocos2d文件夹拷到本项目下,
下载安装好Cocostudio3.10,打开UI.ccs文件即可编辑和发布UI
MAC直接用Xcode 或者AppCode 直接打开 proj.ios_mac 即可运行
AndroidStudio安装直接打开 proj.android 项目即可运行
Visual Studio 安装未验证
UI项目说明
cocosstudio目录为UI目录
UI.ccs是UI项目配置文件
文件 | 说明 |
---|---|
HelloLayer.csd | 欢迎界面层 |
AlertLayer.csd | 弹框层 |
GameLayer.csd | 游戏层 |
SetLayer.csd | 设置层 |
GameOverLayer.csd | 游戏结算层 |
Gang0.csd | 横向显示杠的节点 |
Peng0.csd | 横向显示碰的节点 |
Gang1.csd | 竖向显示杠的节点 |
Peng1.csd | 竖向显示碰的节点 |
BtnPeng.csd | 碰按钮节点 |
BtnGang.csd | 杠按钮节点 |
BtnHu.csd | 胡按钮节点 |
BtnGuo.csd | 过按钮节点 |
EffectZm.csd | 自摸特效 |
EffectPeng.csd | 碰特效 |
EffectHu.csd | 胡特效 |
EffectGang.csd | 杠特效 |
SignAnim.csd | 标记当前出牌动画 |
MainScene.csd | 没用 |
源码说明
文件 | 说明 |
---|---|
AppDelegate.h/AppDelegate.cpp | Cocos2d游戏启动类 |
GameSceneManager.h/GameSceneManager.cpp | 单例,封装创建提示层、设置Scene和Layer等 |
AlertLayer.h/AlertLayer.cpp | 弹出层类 |
HelloWorldScene.h/HelloWorldScene.cpp | 游戏Scene类 |
BaseUILayer.h/BaseUILayer.cpp | Cocostudio界面基类,封装了部分按钮事件绑定功能 |
HelloLayer.h/HelloLayer.cpp | 游戏初始欢迎界面类 |
GameLayer.h/GameLayer.cpp | 游戏层界面类,用来控制游戏的显示 |
SetLayer.h/SetLayer.cpp | 游戏设置层 |
GameConfig.h/GameConfig.cpp | 加载与存储游戏设置信息 |
ViewControl.h/ViewControl.cpp | 通过观察者模式,控制界面切换 |
ViewObject.h/ViewObject.cpp | 封装界面切换指令与数据 |
UIHelper.h/UIHelper.cpp | UI工具类,封装节点查找方法 |
Utility.h | 工具类,封装字符串操作方法 |
IPlayer.h | 游戏玩家基类 |
AIPlayer.h/AIPlayer.cpp | 机器人玩家 |
RealPlayer.h/RealPlayer.cpp | 真实玩法 |
GameEngine.h/GameEngine.cpp | 麻将引擎,控制游戏逻辑流转 |
GameLogic.h/GameLogic.cpp | 麻将算法类 |
GameCmd.h | 麻将传递的对象定义 |
AIEngine.h/AIEngine.cpp | 机器人引擎 |
FvMask.h | 标记位操作工具 |
GameEngine.h中定义的IGameEngineEventListener接口,该接口用于玩家处理游戏事件,AIEngine实现了机器人的游戏事件处理接口,GameLayer中实现了真实玩家的游戏事件处理接口。
Fork 本项目
新建 Feat_xxx 分支
提交代码
新建 Pull Request
今天开始打算讲解下cocos2dx下如何制作国标麻将 前半部分先讲解麻将的逻辑部分,因为都是代码,可能会比较枯燥无聊. 这部分讲完后,你也可以用其他游戏引擎来制作麻将 后半部分,就讲解余下的cocos2dx部分, 因为要把这部分留到后面讲,主要是还在考虑用3d做还是用2d做. 到最后可以扩展AI部分的机器人 和 服务器模块 cocos2dx 制作单机麻将(一) 麻将逻辑1. 打乱麻将顺序(初始化牌
cocos2dx 制作单机麻将(四) 麻将逻辑5.模拟出牌 // // main.cpp // MajiangLogicTest // // Created by TinyUlt on 14-8-16. // Copyright (c) 2014年 TinyUlt. All rights reserved. // #include <iostream> using namespace s
quick-cocos2d-x 是一个游戏快速开发框架,基于 cocos2d-x,使用 Lua 来编写移动游戏。 对于初次接触 quick 的开发者,建议直接用 player 模拟器执行 quick 附带的示例程序。然后通过修改、完善这些示例程序来学习 quick-cocos2d-x。这样可以避免一开始就陷入如何配置编译环境的繁琐步骤中。
我需要根据收到的表单游戏中心服务器的位置移动box 2d主体。 收到体位后,我只需使用以下命令更新体位:- 但它以不受许可的方式移动身体(例如,身体在屏幕上显示出一些人)。同时我的精灵形象不动(附身)。
著名的开源社区 Cocos2d 发布 Cocos2d-X for XNA 版本。该游戏引擎针对微软最新移动操作系统 Windows Phone 7 平台,开发者可以采用 C# 语言开发基于 Windows Phone 平台的游戏,而无需学习 XNA 绘图接口。现改名为cocos2d-xna,利用monogame框架跨平台,支持的平台包括WP7,XBox 360, iOS, Android, Pla
3D ToolKit for cocos2dx 是一个简单的cocos2d-x 3D扩展,可以方便地在cocos2dx环境中创建3D图形。 基于cocos2d-x 2.2开发。 已实现功能: 1,向量和矩阵运算。 2,扩展的3D相机。(支持 透视投影 和 正交投影) 3,3D Sprite。(支持空间变换,更换mesh,更换shader) 4,扩展的shader program和uniform
欢迎使用 Cocos2d-x 用户手册,本手册包含引擎的介绍,功能组件的使用方法以及引擎在多个平台的环境搭建。能够帮助您快速上手 Cocos2d-x!
利用 cocos2d-x 实现多平台高仿微信打飞机游戏。平台包括:iOS、Mac OS 和 Anroid。代码基于@JustDifferent__ 发布于 code4app 的代码 “高仿微信打飞机”(http://code4app.com/ios/高仿微信打飞机/521495136803fa1d5f000001)移植而来。 作者说:需要在代码工程中加入cocos2d-x的库才能运行demo。 请