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

本文记录了一位开发者使用KBEngine、Unity和PHP开发扑克小游戏的过程。目前,PHP和Unity部分已完成大部分工作,正在解决KBEngine与PHP的衔接。详细介绍了游戏流程,包括进入房间、洗牌、发牌、出牌、判断游戏结束等关键环节,并提供了接口测试数据和Unity端的部分实现效果。
摘要由CSDN通过智能技术生成

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

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值