点击注册
点击注册
.
.

源码、文档、配置齐全十天助力开发简易棋牌游戏

发布日期:2022-03-30 16:44    点击次数:159

源码、文档、配置齐全十天助力开发简易棋牌游戏

感谢社区 ID:zifely 的友情贡献,内含开源代码、讲解文档、多端配置等素材,已经是个完整游戏,刚接触 Cocos Creator 的新手们或者对棋牌感兴趣但苦于无教程可学的小伙伴不妨进来练练手,要知道有人算出来说一个人口80万的县城,做地方棋牌+地方玩法+方言配音,可以轻松做到一年 100 万流水,而且能够直接火出国界。


文件组成


源码、文档、配置齐全,十天助力开发简易棋牌游戏!

client:客户端,使用 Cocos Creator 打开即可

sever:服务器端,使用 node.js 编写,是一个极简的服务器,只是做了一下简单的封装,仅供学习使用。

client_console:客户端测试程序,可以模拟登陆,进房间。

服务器 Sever 配置


用的是 mysql,所以得先在 mysql 中创建一个名为 hongshi 的 database,然后导入 hongshi.sql。


然后 npm 安装需要的包,主要是 ws,express,别的你运行 node server.js 提示缺什么就 npm install 什么。


如果你有时间可以写一下配置文件,然后直接 npm install 就可以了。


node server.js 运行服务器程序:


进入 IpGet 目录,然后 node socket_io_ip_server.js(这一步不是必需的),它主要用来获取客户端的 IP 地址,因为 ws 库没有找到获取 IP 地址的方法。


理论上可以获得 IP 地址甚至 MAC 地址。


客户端 client 配置



主要场景


主要场景文件位于assets/scenes/ 目录下,包括


Login.fire 游戏的登陆界面

Hall.fire 游戏的大厅界面

Game.fire 正式玩游戏的界面

预制资源


预制资源为主要的弹出界面,保存在 assets/panel/ 目录下包括但不限于以下:


AgentPanel 代理界面

BroadcastPanel 广播界面

ChatPanel 聊天界面

CreateRoomPanel 创建房间界面

EnterRoomPanel 进入房间界面

FinalResultPanel 进行完所有比赛的比赛结算界面

HowToPlayPanel 玩法界面

InviteCodePanel 邀请码界面

RecordDetailPanel 一场房间的比赛里面每一局的数据界面

RecordMainPanel 一场房间的比赛的总的数据界面

ResultPanel 一局结束时候的结算界面

ScreenMessage 弹出系统消息的界面

SettingPanel 设置界面

SharePanel 分享界面

ShopPanel 商城界面

UserInfoPanel 用户信息界面

上述预制资源军通过 uicreator.js中的函数来调用。


其余预制资源


因为一个界面下可能有多个相同 item 组件,所以将这些 item 组件作为预制资源存放在 assets/item/ 目录下。


辅助脚本


辅助脚本均放在 assets/scripts/assist/ 目录下,主要脚本和功能如下:


AnimInAndOut:调用该脚本的节点在 onLoad 的时候会自动进行一个渐现的同时放大的动作,同时脚本中包含关闭的时候渐隐的同时缩小的动作

AnimMoveInAndOut:调用该脚本的节点在 onLoad 的时候会从屏幕的右侧进入,在消失前会进行右移出屏幕的动作

SDKManager:该脚本用于实现 AnySDK 中接入 SDK 的一些通用功能,如:登陆,分享,支付等

ScreenShoter:该脚本用于截屏,并将截屏后的图片保存在本地

基础脚本


audioPlayer:该脚本封装了 Cocos Creator 的音频接口,用于播放音效和音乐,并且可以通过该脚本提供的接口控制音效和音乐的大小

hongshi: 基础的脚本,用户信息以及游戏运行中获得的其他用户的数据都会作为 hongshi 的成员变量保存在整个游戏运行过程中

nativeLoader: 该脚本用于下载远程 url 对应的图片到本地并保存

netEngine: 该脚本用于以 WebSocket 的方式与服务器端进行网络通信

pokerPutHelper:出牌的所有逻辑,包括判断牌的类型,判断几张牌能否跟得上另外几张牌,根据别人出的牌获得我所有的可以出的牌等

uicreator:为所有通过 cc.loader.loadRes 提供的通用的接口

网络通信


客户端主要通过 WebSocket 和服务器进行通信,有关 WebSocket 通信的细节见 netENgine.js 脚本,其中主要以短连接为主(netEngine.send 函数),即客户端发送一条消息给服务器,服务器处理之后会返回消息给客户端,客户端接收到服务器返回的消息后便会断开这个 WebSocket 连接。


另外的一个就是长链接(通过 netEngine.register),目前只有一个长链接(即 'enterroom' 消息),用户进入房间(即 Game 场景)后即与服务器进行一个长连接,即一直不断开 WebSocket 通信,这个时候客户端通过接受服务器端返回的房间数据来更新当前房间的消息,通过继续通过出牌、聊天等向服务器发送聊天消息。


注意事项:


目前的长连接只有一个,后续还需至少增加一个,用于监听网络,当网络断开时自动跳回到 Login 场景

目前服务器返回的数据为没有经过处理的房间数据,所以客户端也是按照这种数据来进行处理的;后期服务端需要更改返回的数据,所以客户端也需要做相应调整。

Game.js


Game.js 是 Game 场景中的主要脚本,游戏场景中主要有四个状态:


'Waiting'状态:房间等待的状态

'ShowRed'状态:亮红状态

'Gaming'状态:打牌阶段的状态

'SomeoneOffline'状态:有人离线的时候的状态

客户端会根据接收到的数据的 type 类型来进行判断,并更新当前客户端的状态。 关于如何处理见 Game.js 脚本中的 handle 函数。


客户端命令行 client_console 配置


源码、文档、配置齐全,十天助力开发简易棋牌游戏!

写这几个程序的原因主要是为了方便进行测试。


因为需要做的是四个人玩的红十,所以需要开三个机器人进入房间一起玩。


目前的功能是:


输入 node game_console.js 123456 100001 就能使 ID 为 100001 的用户进入 roomId 为 123456 的房间。


输入 node assist.js 123456 100001 roomPrepare roomId:123 prepare:true 就能让在 roomId 为 123456 的 ID 为 100001 的玩家进入准备状态


输入 node assist.js 123456 100001 roomPrepare roomId:123 prepare:false 就能让在 roomId 为 123456 的 ID 为 100001 的玩家取消准备状态


参考资料来源


Cocos Creator 官网


http://www.cocos.com/


Cocos Creator 官方教程


http://www.cocos.com/docs/creator/


Cocos Creator 论坛


http://forum.cocos.com/


Cocos Creator Api


http://www.cocos.com/docs/creator/api/


诚然,这个花费了我整整十来天时间制作出来的棋牌游戏还有不少 Bug ,文档、源码和配置都已经开放给大家,希望这套资源能够给小伙伴们尤其是新接触 Cocos Creator 的小萌新带来帮助。




Powered by 澳门赌场攻略 @2013-2022 RSS地图 HTML地图

网站统计——

  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司