Qt5.8《网络版够级游戏》编写日志之一:整体规划
比较喜欢玩够级,经常和几个朋友还凑一起打会儿,网上的够级游戏都是四副牌的,所以自己就想着自己编一个够级游戏,这样自己也能从中学到知识。我把自己能想到的进行了一下梳理,算是对整个《网络版够级游戏》的规划或者叫设计吧,本篇没什么技术,就是一个思路和自我需求分析而已。
1 开发环境
依旧是CentOs7.0+Qt5.8+sqlite;因为需要存储玩家信息以及后续可能涉及的数据存储,这里使用了轻量级的数据库sqlite,一个是使用方便,二一个确实存储的数据不多。如果换成其他数据库,也不是太麻烦。
2 游戏架构
既然是网络版够级,那当让是采用CS模式,编写服务器端和客户端。服务器端与客户端采用TCP通信,服务器主要完成用户注册、登陆、上下线管理、公共信息发布游戏房间分配、玩家创建、进入、离开房间信息管理,提供私人聊天和房间聊天功能;客户端主要完成用户注册、上线玩家信息、房间创建、进入、离开以及游戏功能的提供,每个客户端可以与在线玩家私聊也可在游戏大厅在公开聊天。另外各玩家之间还可以进行文件传输。
说白了,我就是打算基于TCP做一个通信软件+够级游戏的提供;聊天提供表情,玩家提供头像的功能。够级游戏不做IA只做规则判断(不符合出牌规则的牌不可以出以及胜利的判断)机器人这块留待以后再添加。
3 简单技术实现思考
1) 服务器与客户端之间采用TCP协议通信,服务器采用多线程机制,这样才能相应多客户;
2) 各客户端之间私聊、各客户端在游戏大厅聊天,仍然是采用TCP协议方式进行;
3) 够级游戏,不设计IA,只是对各玩家出牌是否符合出牌规则,进行判断(个人感觉已经听恼火了),判断由客户端判断;
4) 本着谁创建游戏房间谁负责的原则,也是为了减轻服务器的负担,这里我将游戏房间创建者,即当作游戏管理者,洗牌、发牌、积分等功能均有房间创建的客户端负责;服务器只是做信息的接收和分发工作;至于游戏时采用UDP还是TCP,我还没有想清楚,到时实现时再细谋。
一点简单的思考,后续将一点一点将整个游戏做出来。