KBEngine+Unity+php做个扑克小游戏-DAY1

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

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素材还没给我呢 用的我们的麻将桌布):

时间: 11-02

KBEngine+Unity+php做个扑克小游戏-DAY1的相关文章

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

怎么办,这很尴尬,为啥呢,因为kbe的某些原因让我放弃了使用它所以本打算继续更新的,说一下原因: 在DAY1中我希望kbe能够开启一个http服务,并让php端做一个web请求将消息传递给对应的用户,可是这个http服务我是写起来了,发送消息的函数也写出来(花了不少时间,kbe的注释和文档都不多,特别是kbe把BaseHttpServer这个python库另外弄了个名字,用http.server import as 才导入成功)尴尬的就是http服务和发消息的函数怎么也放不到一起: 1.一旦某个

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

写这篇博客的时候其实我已经开发了一大部分了~ php 部分,unity 部分 都已经差不多了 ,由于KBEngine(简称kbe)完全没接触过,其实很多地方php部分的逻辑都可以直接挪到kbe中完成.实际为了开发效率,同样的逻辑目前我还是用php写起来飞快,因此项目的组成有一些小奇葩 现在正在琢磨kbe和 php 部分的衔接问题: 1.进入房间时,调用进入接口 /room/join 2.准备状态,调用接口 /game/prepare 3. a.当php检测到准备玩家数量 preparedPlay

突发奇想想学习做一个HTML5小游戏

前言: 最近一期文化馆轮到我分享了,分享了两个,一个是关于童年教科书的回忆,一个是关于免费电子书的.最后我觉得应该会不敌web,只能说是自己在这中间回忆了一下那个只是会学习的年代,那个充满梦想的年代.有人说如果一个人开始回忆童年的时候,那么他开始变老了,不知道是不是这样一个原因,我突然想起了很多以前的老朋友,开始想起了一些童年时期的玩伴.也就想做这样一款简单的游戏,也只是单纯的想回忆一下童年. 计划: 游戏其实很简单,我们把它叫着裤裆棋,又叫什么狗卵坨还是什么的,有些记忆模糊了,反正大致是这样子

css3+jquery+js做的翻翻乐小游戏

主要是为了练习一下css3的3D翻转功能,就做了这么个小游戏,做的比较粗糙,但是效果看的见. 主要用到的css3代码如下: html结构: 1 <div class="container"> 2 <div class="side"> 3 4 <div class="front"> 5 <!-- 正面 --> 6 </div> 7 8 <div class="back&qu

初学WPF,做一款小游戏练习一下

以前做项目的时候有用过Silverlight,最近了解了一下WPF,做了一款简单的小游戏来练手,希望能和大家多多交流. 想法:最强大脑 牛人多多,对色彩的分辨更是让人目瞪口呆,于是我就想到做一个小游戏,简单一点,做网格状的色块,中间穿插一块不同颜色但是又非常相近的颜色块,点击该颜色块即为通关,进入下一关,下一关的色块数量+1,直到到达一个差不多的关卡后不再+1: 效果如图 说做就做,新建工程,开始实现,首先准备好一组颜色相近的颜色代码,百度HTML颜色代码,随便选取,越相邻颜色色差越小. 1 p

做了一个小游戏,结项目,数数坑

这是一个微信端的,投篮小游戏. 游戏规则如下: 点击开始,进入游戏,按住右下角红色按钮控制投篮力度,3次进球以后游戏难度将会升级.45秒内您的进球数将会计入排行榜,最终排行榜上的名次可以获得相应奖励,快来投篮冲榜领福利吧. 一.动画效果 做微信项目,相信大家和我一样,已经习惯了放弃使用jQuery,转而使用zepto.但是zepto并没有集成animate()方法.因此若想使用动画,用不想做兼容处理,最高效的方法是重拾jQuery. $(selector).animate(styles,spee

用Unity做的一个小游戏,仿照一个例子写的,个人觉得文章写的不错,哈哈

自己做的一个小游戏(1)--吃金币(基础版)

目录 效果图 代码 效果图 代码 #include<stdio.h> #include<conio.h> #include<Windows.h> #include<time.h>//计时器 #include<math.h> #include<stdlib.h> //跳转函数 void turnto(int x,int y) { COORD loc; loc.X = x; loc.Y = y; SetConsoleCursorPosit

【菜鸟教程】小白接触白鹭引擎4天,成功做了一款足球小游戏

写在前面:随着越来越多的新人开始接触白鹭引擎,创作属于自己的游戏.考虑到初学者会遇到一些实际操作问题,我们近期整理推出"菜鸟"系列技术文档,以便更好的让这些开发者们快速上手,Egret大神们可以自动忽略此类内容. 本文的作者是白鹭技术支持"熊猫少女",看文的小伙伴们如果有问题可以来白鹭官方论坛与之交流. 正文如下: 在接触白鹭引擎的第四天,我摸索着用EUI做了一个小游戏.可能游戏逻辑比较简单,使用的知识点也比较基础,今天与大家分享交流,请大神勿喷,不吝指点.我的小游