当前位置:首页 > 资讯 > info5 > 正文

开发日记:KBEngine+Unity+php做个扑克小游戏-DAY1

发表于: 2016-11-04   作者:zay109327402   来源:转载   浏览:
摘要: 写这篇博客的时候其实我已经开发了一大部分了~php部分,unity部分都已经差不多了,由于KBEngine(简称kbe)完全没接触过,其实很多地方php部分的逻辑都可以直接挪到kbe中完成。实际为了开发效率,同样的逻辑目前我还是用php写起来飞快,因此项目的组成有一些小奇葩现在正在琢磨kbe和php部分的衔接问题:1.进入房间时,调用进入接口/room/join 2.准备状态,调用接口/game/

写这篇博客的时候其实我已经开发了一大部分了~

php 部分,unity 部分 都已经差不多了 ,由于KBEngine(简称kbe)完全没接触过,其实很多地方php部分的逻辑都可以直接挪到kbe中完成。实际为了开发效率,同样的逻辑目前我还是用php写起来飞快,因此项目的组成有一些小奇葩

现在正在琢磨kbe和 php 部分的衔接问题:

1.进入房间时,调用进入接口 /room/join 

2.准备状态,调用接口 /game/prepare

3.

a.当php检测到准备玩家数量 preparedPlayerCount == room.maxPlayerCount 时(最后一名玩家调用准备接口),由php端生成一个52张牌(不含大小王)的牌池,然后shuffle 洗牌~ 如果追求极致可以多shuffle两次... 将牌池数据插入数据库表cards_pool,生成新的的poolId 

b.通知kbe发送开始游戏消息给房间内所有玩家,并告知刚刚生成的poolId (每个房间的所有牌池中的roundCount 从1开始递增,即新创建一个房间开始游戏计算第一轮,每新生成一个牌池则回合数+1)

c.玩家(unity端) 收到消息后调用摸牌接口 /game/getCards ,接口参数中的cardsCount由具体的游戏玩法决定每人摸多少张排(例如斗地主13张),准备游戏界面:



4.通知kbe发送消息给最先出牌的玩家(由具体规则决定首先出牌的玩家ID),unity端开始20秒倒计时,倒计时内该玩家需要调用出牌接口 /game/stepCards ,将所出的牌拼接成字符串作为参数,如果选择过,则该参数置null。接口仅记录出牌步骤至数据库表 cards_pool_step,不校验牌型是否合法,由unity端自行校验

5.通知kbe发送消息给下一位玩家重复步骤4,直到 连续有 maxPlayerCount-1条 出牌记录为null的时候判断本轮出牌终止,记录这名玩家的userID,开始下一轮出牌

6.通知kbe发送消息给这位玩家出牌重复步骤4~5 直到任意一名玩家手牌数量为0(根据具体玩法决定胜利条件),回合结束,由客户端自行检测,胜利的玩家调用结束回合接口 /game/roundOver

7.重复步骤2~6 直到任意一名玩家离开房间


===================

接口测试数据:某玩家从牌桌上摸一张后:

  1. {
  2. "error" : "发牌成功",
  3. "errorCode" : "200",
  4. "errorMsg" : "Get Cards Success",
  5. "cardPool" : {
  6. "poolId" : "1",
  7. "createTime" : "2016-11-04 04:50:15",
  8. "cards" : "3_10|3_1|3_6|4_10|3_8|4_12|3_13|4_2|2_6|2_4|1_10|4_3|1_3|2_13|2_8|1_6|4_6|1_9|3_12|1_2|3_7|1_8|3_5|2_2|4_11|1_1|3_4|2_12|4_13|1_11|1_4|2_1|3_3|2_7|2_10|4_4|3_9|2_5|4_7|1_5|3_2|1_13|2_11|3_11|4_9|4_1|1_12|4_8|2_3|2_9|4_5",
  9. "roomId" : "1003",
  10. "roundCount" : "1"
  11. },
  12. "myCards" : "1_7"
  13. }
前缀1~4代表花色 后缀代表数字

cards 就是shuffle过后的牌池


unity端目前的效果:

打出一张 3带一对的步骤(桌布的UI素材还没给我呢 用的我们的麻将桌布):


开发日记:KBEngine+Unity+php做个扑克小游戏-DAY1

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
  为了应付检查,暂时放博客上了。   小蜜蜂游戏---合作者:任洋,林雅峰   最近分析了一些网
1.Python编程风格 缩进统一 变量:(Python的变量不需要声明) a、标示符的第一个字符必须是字母表
小菜又来了!!! 本期实现的功能为变形以及左右移动的功能 首先说下我变形的原理 以这两个数组变化
4 Day1
写在前面的话:这是一篇迟到了两天的博客,,,,因为错过了最佳的发布时机,差点被扼杀。但为了记
5 Day1
什么是Python 是一种使你在编程时能够保持自己风格的程序设计语言,你不用费什么劲就可以实现你想要
以下是包的主要结构 运行效果展示:(把小伙伴们和自己的都上传了) 我们主要编写三个类: 1.ImageC
apk下载:apk下载:http://download.csdn.net/detail/xiangqiao123/3805861 这是去年用android写的
作为一个即将步入游戏行业的新人,手写经典小游戏是必备技能哦。 预览 由于录屏软件的问题,颜色和
周末没事,手写小游戏继续~ 预览 步骤 1 定义数据结构 逻辑与界面分离,游戏场景是个二维数组区域,
继续把Qt小游戏写一下~ 预览 步骤 整体的代码结构,游戏逻辑类和游戏界面类分离,采用MVC的思想。 1
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号