项目介绍
本项⽬主要实现⼀个⽹⻚版的五⼦棋对战游戏,其主要⽀持以下核⼼功能:
• 用户管理:实现用户注册,用户登录、获取用户信息、用户天梯分数记录、用户比赛场次记录等。
• 匹配对战:实现两个玩家在网页端根据天梯分数匹配游戏对⼿,并进行五子棋游戏对战的功能。
• 聊天功能:实现两个玩家在下棋的同时可以进⾏实时聊天的功能。
程序截图
开发环境
• Linux (Centos-7.6)
• VSCode/Vim
• g++/gdb
• Makefile
核心技术
• HTTP/WebSocket
• Websocket++
• JsonCpp
• Mysql
• C++11
• BlockQueue
• HTML/CSS/JS/AJAX
项目大流程
• 环境搭建(在Linux环境下安装需要用到的的工具以及第三方库)
• 框架设计
• 前置知识的了解
• 模块开发
配置开发环境
项目框架
项目期望:用户访问服务器获取注册页面,通过注册页面注册账号,注册成功后在登录页面进行登录。登录成功后进入游戏大厅,在游戏大厅中进行匹配对战,匹配成功,将进入游戏房间内与对手进行实时对战和实时聊天。

用户访问服务器获取的注册页面、登录页面、游戏大厅页面和游戏房间页面,属于静态资源请求。进行注册请求、登录请求、进入游戏大厅后展示个人信息的个人信息请求、匹配对战请求和下棋聊天请求属于动态功能请求。
服务器流程图:

模块解析
在项目中,需要用到6个模块,分别是:
数据管理模块:基于mysql数据库进行数据管理以及封装数据管理模块实现数据库访问。
在数据管理模块中,需要实现的功能有:注册新用户功能、登录验证功能、通过用户名获取用户信息功能、通过用户id获取用户信息功能,以及对战胜利和失败后,对数据的更新功能。
网络服务器模块:基于websocketpp库搭建websocket服务器,实现与客户端网络通信。
早网络服务器模块中,websocketpp支持http协议和websocket协议,需要实现的是http请求处理回调函数和websocket请求处理回调函数。其中,HTTP请求的处理回调函数包含了静态资源请求处理、用户注册请求处理、用户登录请求处理和用户信息请求处理。websocket请求处理回调函数包含游戏大厅、游戏房间等长连接的请求处理。
session管理模块:封装session管理,实现http客户端通信状态的维护及身份识别。
session管理模块是用于在浏览器中保存用户的通信状态和身份识别的,当用户在注册或登录后,进入了游戏大厅或游戏房间,那么将会永久保存其Cookie,当用户断开连接后,在一定的时间内,他的Cookie就会被销毁,在登录时需要重新输入账号密码。
在线用户管理模块:对于进入游戏大厅&游戏房间的长连接通信进行管理,

本文介绍了开发一个基于C++的网页版五子棋游戏,包括用户管理、匹配对战、实时聊天功能。项目涉及的技术有WebSocket、HTTP、MySQL、C++11等,详细描述了各模块功能、服务器流程、数据库设计和遇到的问题解决方案。
&spm=1001.2101.3001.5002&articleId=131272723&d=1&t=3&u=556ee48a5dff492eaa60c76bc9758f32)
7726

被折叠的 条评论
为什么被折叠?



