8000 GitHub - lluckyboi/chess: go实现的双人象棋
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

lluckyboi/chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

双人象棋

image

go实现的双人象棋,支持在线对战

功能描述

可以通过客户端,登陆注册 , 加入房间对战、观战

技术细节

棋盘通过ebtien 库绘制,键鼠交互

客户端调用服务器接口

邮箱注册登录

进入房间,人满2人自动开始,他人可进入观战

客户端发起tcp请求,发送棋盘数据给服务器,服务器推送到websocket , 客户端再通过协程监听websocket连接读取棋盘数据,然后进行实时渲染

客户端负责逻辑处理,服务端仅负责收发数据,因此并发较高

棋局回放:服务器拿到棋盘数据根据用户信息入库,后续客户端访问接口,服务器定时从websocket推数据,服务器拿数据本地渲染回放(未做完)

使用方法

client文件夹单独放在一个项目中,可以多开几个项目测试,运行即可,按照提示输入邮箱和用户名,然后查看验证码,输入验证码,输入房间号(最好6位),若未满两人会进行等待,满两人自动开始,先进入的为红方

或者通过EXE文件双击运行

接口简述

//发送邮箱验证码
r.POST("/getmailac", getmailac)
//登录注册
r.POST("/login", login)
//拿token
r.POST("/auth", authHandler)
//进入房间 进入升级为ws连接 然后进行初始化 本地维护room和roomcount
r.GET("/enterroom/:roomId", JWTAuthMiddleware(), enterroom)
//检查人数
r.POST("/checkroomcount", checkroom)

About

go实现的双人象棋

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0