多人在线五子棋游戏测试版本v0.1,采用Vue, Gin, WebSocket, Redis等技术栈,前后端分离部署。用Chrome浏览器体验最佳,无账号登录,只支持无禁手规则。可打开多个网页登录多个玩家,一个玩家可同时进行或旁观多场游戏。
- 无账号用昵称登录
- 大厅聊天
- 房主创建房间
- 挑战房主或旁观
- 房间聊天
- 开始游戏
- 下棋、悔棋、投降、求和、逃跑
- 游戏结束
- 退出房间
前端采用vue框架,整合了:
- element-ui:绘制页面布局、按钮、表格、输入框、弹框等组件
- canvas:绘制棋子及棋盘
- vuex:存储数据传输对象(DTO),标签页信息等
- vue-router:管理路由
- vue-i18n:国际化
- websocket:与后端通信
后端采用go语言的gin框架,整合了:
- melody:websocket框架,管理session
- redigo:设置连接池,访问redis
- logrus:日志框架,整合mgorus,打印数据库到mongodb
- viper:设置config.yml文件为配置文件
- sync.RWMutex: 设置房间的锁,解决同步问题
中间件、数据库服务:
- websocket:前后端通信,可参阅[API Doc.md](./API Doc.md)
- redis:存储玩家信息、房间信息、大厅对话
- mongodb:储存日志
部署:
腾讯云,CentOS 7,docker