前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Golang语言情怀--第143期 Go语言Ebiten引擎《荒野坦克大战》开发PC端:调试访问Game服务器

Golang语言情怀--第143期 Go语言Ebiten引擎《荒野坦克大战》开发PC端:调试访问Game服务器

作者头像
李海彬
发布2024-11-25 13:31:59
发布2024-11-25 13:31:59
4800
代码可运行
举报
文章被收录于专栏:Golang语言社区Golang语言社区
运行总次数:0
代码可运行

连接Game服务器成功

代码语言:javascript
代码运行次数:0
复制
// 子协议拆分
func HandleCltProtocolProxy(protocol2 interface{}, ProtocolData map[string]interface{}) {
    switch protocol2 {
    case float64(Proto_Proxy.Proxy2C_ConnDataProto):
        { // 注册协议
            msg.SendGameGetPlayer(cxt.Token, ProtocolData["OpenID"].(string), cxt.ConnClient)
        }
    default:
        glog.Info("子协议不存在")
    }
}

// 子协议拆分
func HandleCltProtocol2(protocol2 interface{}, ProtocolData map[string]interface{}) {
    switch protocol2 {
    case float64(Proto_Proxy.C2Proxy_SendDataProto + 1):
        { // 登录协议
            // map[PlayerSt:<nil> Protocol:6 Protocol2:2
            // UserData:map[Avatar:1 Bind:xioaji Coin:6.6666666e+07 Exp:0 FunctionLock:[map[FunctionId:1 IsLock:true] map[FunctionId:2 IsLock:true] map[FunctionId:3 IsLock:true]] GameRound:1 Masonry:8.8888888e+07 OpenId:37693cfc748049e45d87b8c7d8b9aacd RoomId:0 TankInfo:map[BombId:3000 IsRobot:true Repair:1600 TankId:2000] TankRound:1 UserID:4992 UserLev:1 UserName:binge VIP:0]]
            glog.Info("-----收到数据,玩家数据:", ProtocolData["UserData"])
            glog.Info("-----收到数据,玩家UID:", ProtocolData["UserData"].(map[string]interface{})["UserID"].(float64))
            glog.Info("-----收到数据,玩家金币:", ProtocolData["UserData"].(map[string]interface{})["Coin"])

            if ProtocolData["UserData"].(map[string]interface{})["UserID"].(float64) != 0 {
                cxt.Login_SUCC = true
            }

            if cxt.Login_SUCC {
                glog.Info("登录游戏服务器成功!")
            }
        }
    default:
        glog.Info("子协议不存在")
    }
}

后续会在抖音直播间或者视频给大家讲解,主要文章中贴太多代码特别是项目的都比较晦涩难懂,抖音直播间名称:VersusWar

Ebiten框架开发《荒野坦克大战》PC版本

主要是编程逻辑和思路,编码是比较简单的事情;本节主要是解决EbitEn的客户端连接到代理Proxy服务器的基础逻辑。大家主要能借鉴就可以借鉴下;了解整个架构的设计是主要的。

下节我们主要解决:EbitEn的客户端通过代理服务器链接内网游戏服务器。

本节就暂时到这里,明天继续EbitEngine编程。代码比较简单,不明白的可以留言。

社区自己开发的IO小游戏,欢迎体验:

同学们,兴趣是最好的老师;只争朝夕,不负韶华!加油!

参考资料:

Go语言中文文档

http://www.golang.ltd/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言情怀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Ebiten框架开发《荒野坦克大战》PC版本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档