python+Layaair引擎学做html5棋牌游戏开发

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

过年这段时间,无聊就开始练习做游戏开发,由于经验不足,而且自己规定限制在20天之内完成,因此只能瞎子摸象,一步步摸索。没有游戏代码样本、没有H5游戏经验、没有前端开发知识。

练习目标:做个棋牌游戏玩玩。

1:选择游戏引擎,这个开源的有很多选择,比如egret、Phaser、cocos2d-JS、layaair等,可以根据自己的选择,我这里选择layaair,开发语言是typescript。

2:游戏服务器,H5游戏一般用websocket做主要的协议,可以的话在websocket中用protobuf协议来和服务器通信,我这里选择了python做服务器。

先说明一下,涉及到了网络传输和数据库等操作,python不会比其他语言慢,因为服务器不是用来密集型计算的,而是在于IO,服务器主要耗时在于读写数据库和网络传输。此外目前python在手游中做为服务器的比例越来越高。

游戏服务器设计:

游戏服务器 table,play类等:

table类主要属性包含:

tableCase#目前房间状态,空闲 抢庄,准备,投注,结算等等

tablePlays#游戏玩家

tableZhuangjia#庄家

tableforbiddener#黑名单 

tableRoomer #房主

tableModel #房间模式 ,抢庄或者指定庄家

tableroomCard#当前牌桌的总局数,超过局数就结束

tableCurrent#当前牌局的局数

.........................#等等

tableMaxpeople#房间最大人数

 

table类主要方法包含:

def currentTablecase()#当前桌的游戏状态

def rwqueue()#当前读写队列

def exeEvent()#服务器间隔10帧执行的队列

def register(self, newer)#当前牌桌加入新成员

def createRoomIni(self,user,message):#游戏玩家创建房间初始化参数设置等等

def ready(self,user):#玩家准备

def qiangzhuang(self,user):#玩家抢庄

def getzHuangjia(self,user): #得到当前牌桌的庄家

..........................#等等

def putQueue()#队列,客户端发送的数据保存在table的队列

 

等等,还有很多的方法不一一列举了,

play类主要属性包含有:

userId,username,token#等等

LastRequestDate#上次请求时间

NetBroken#网络中断时间,是否重连

selfcase #当前玩家空闲 抢庄,准备,投注,结算等状态

touzhuData#投注数据等等

..........................#等等

socre#玩家分数

等等,还有很多的属性不一一列举了,

客户端的设置:包含界面、动画、缓动、滤镜等动画。

1:server.ts//主要是处理连接服务器,接受等处理

2:sound.ts//声音的播放处理

3:tween://主要是一些元素的缓动处理

4:ani//一些动画的播放处理

5:work.ts//游戏逻辑的处理

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看