凯发娱乐城

龙8国际.娱乐城

注册游戏账号

新葡京娱乐城

E世博.娱乐城

进入游戏大厅

博天堂娱乐城

乐天堂.娱乐城

真人棋牌游戏开户

您现在的位置:主页 > 棋牌资讯 > 正文

如何用php制作斗地主游戏 (2)

来源:http://www.wangtouleyuan.com 作者:棋牌资讯

真人棋牌游戏

博天堂

  如何用php制作斗地主游戏 (2)下面给大家介绍的是使用KBEngine+Unity+php做的一个扑克小游戏,php 部分和unity 部分有经验的开发人员都能看明白 ,但对于KBEngine(简称kbe)可能有些人没接触过,但其实很多地方php部分的逻辑都可以直接挪到kbe中完成。

  但需要考虑kbe和 php 部分的衔接问题:

  方法/步骤11.进入房间时,调用进入接口 /room/join

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

  23.

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

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

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

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

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

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

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

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

  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_103_13_64_103_84_123_134_22_62_41_104_31_32_132_81_64_61_93_121_23_71_83_52_24_111_13_42_124_131_111_42_13_32_72_104_43_92_54_71_53_21_132_113_114_94_11_124_82_32_94_5,

  9

  roomId : 1003,

  10

  roundCount : 1

  11

  },

  12

  myCards : 1_7

  }

  2前缀1~4代表花色 后缀代表数字

  cards 就是shuffle过后的牌池

  3unity端目前的效果:

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

  其实用flash效果更好

  • 本文标题:如何用php制作斗地主游戏 (2)
  • xpj

    9you娱乐城

    特别推荐