基于swoft框架开发斗地主
基于swoft2.0框架开发游戏斗地主
使用swoft2.0框架基本实现斗地主游戏逻辑, 可以简单玩斗地主
客户端采用纯原生js编写, 实现简单的测试客户端, 没有任何动画效果
实现斗地主AI机器人简单逻辑,现在只能是过牌,比较弱智,可以简单陪打,机器人逻辑会慢慢完善
想关注更多游戏开发可以关注hyperf-ddz斗地主:hyperf-ddz
1, 登录, 简单实现登录, 请随便输入英文或这数字账号, 现在直接是采用账号当uid使用存入redis的,如果接入数据库, 请自行通过账号替换成uid,登录如下图:
2, 打牌逻辑, 根据按钮来操作打牌逻辑, 消息框里会提示打牌逻辑过程,打牌逻辑如下图:
依赖swoft环境,请安装php扩展msgpack
composer install
./app/Http/Controller/GameController.php 游戏http控制器逻辑
./app/Game 是这个整体游戏服务器逻辑
./app/Game/Conf 逻辑配置目录, 比如:命令字, 子名字, 路由转发
./app/Game/Core 游戏路由转发,算法,解包核心类
./app/Game/Logic 游戏路由转发逻辑协议包处理目录
./public/client 客户端view的资源文件
./resources/views/game 斗地主客户端
./app/Task/Task/GameSyncTask.php 用户进入房间异步匹配处理逻辑
./app/Common/TcpReceiveListener.php 重新覆盖tcp服务器路由到游戏处理逻辑, 此文件开tcp协议, 让斗地主逻辑支持tcp协议
游戏服务器命令操作:
// 启动服务,根据
php bin/swoft ws:start
// 守护进程启动,覆盖
php bin/swoft ws:start -d
// 重启
php bin/swoft ws:restart
// 重新加载
php bin/swoft ws:reload
// 关闭服务
php bin/swoft ws:stop
机器人AI执行命令操作, 进入根目录下test目录下
//xxx表示用户账号
php ai.php xxx
xxx 表示用户账号, 账号最好用英文加数字, 账号唯一就可以
ai功能需要swoole开启短名称功能, 去php.ini添加:swoole.use_shortname=on
//斗地主客户端入口
http://[ip]:[port]/game
docker build -t php_swoole .
php ./test/tcp_client
http://[ip]:[port]/camera
http://[ip]:[port]/show