需求规格说明书
该项目是一个基于TCP用QT开发的五子棋对战系统。
项目仓库地址
1.1面向用户分析
五子棋是一种简单的休闲游戏,主要面向不需要高强度消耗、高耗时的网络用户。
对于本项目,目标人群精确至需要在游戏的同时进行社交的用户,他们需要在保证游戏正常运行的同时,直接在游戏中对话的功能。
- 用户画像:
使用电脑
常需要短暂放松
周边有需要社交的对象 - 用户需求
需要短时间快速放松
需求游戏的同时进行社交
不希望繁杂的页面设计 - 用户示例
职业 | 使用场景 | 使用原因 |
---|---|---|
大学生 | 寝室 | 赶作业或期末复习期间放松、打发时间 |
同项目者 | 工作室 | 缺乏灵感,需一边放松一边交流 |
1.2功能性需求
1.2.1 功能设计图
1.2.2 详细描述
本系统功能性需求分为基本功能需求和网络功能需求
基本功能需求-游戏本体:
-
棋盘的初始化
对棋盘进行初始化,即一张15*15规格的无棋子的正方形网线棋盘。 -
下棋操作
用户点击棋盘,对点击所在坐标属于的棋盘下棋点发送下棋操作。 -
判断下棋是否合法
判断待下棋点是否已经存在棋子,判断发送的坐标位置是否超出棋盘范围。 -
判断是否输赢
进行下棋操作成功后,对该棋进行dfs、bfs等其他算法操作,判断该棋子是否已经构成五连棋子及以上,即可判断胜负。
拓展需求
-
用户账号密码注册
用户可以在客户端进行注册,账号密码发送给服务器端进行保存。 -
进行账号密码登录客户端
用户在登录客户端时,输入账号密码,服务器端对其进行验证,若全部正确则运行进入。 -
账号包含用户名、胜率等信息
服务器端记录每个账号的用户名、对战结果的胜负等信息。
网络功能需求:
-
客户端提供房间号进行游戏
服务器端建立多个房间号给客户端使用,客户端可以挑选其中任一房间进入对局。 -
对战时可以请求悔棋
客户端提供下棋方悔棋一步操作。 -
对战时可以请求和棋
客户端提供下棋方和棋操作。 -
对战时可以发送文字
客户端提供文字框给用户发送文字。 -
切换下棋手
黑方下棋操作完成且为获胜后,下棋手切换为白方。白方下棋操作完成且为获胜后,下棋手切换为黑方。 -
监听
服务器端对客户端连接进行监听并连接。
1.3技术需求
- C/C++语言基础
- QT的基础知识
- QT的UI使用
- QT中TCP协议的使用、socket的使用
1.4预期的用户数量
- 预期的用户数量为200
- 分析:一局对局中包含的用户为2个,本团队目前预期创建100个房间供用户进行五子棋对战,即预期的用户数量为200。
1.5阐述系统
1.5.1真实性
五子棋是一种常见的博弈游戏,操作简单,且内容不复杂,只需要完成有五颗棋子连接即可获胜,所以项目的制作不算太复杂。
1.5.2可用性
用户可以登录游戏客户端,进入相应的房间号与局域网内对手进行五子棋对战。
1.5.3价值
该系统为用户提供一个休闲娱乐的平台进行五子棋游戏的对战。
标签:需求,分析,服务器端,下棋,五子棋,用户,改进,客户端 From: https://www.cnblogs.com/YXCS-cya/p/18172867