1-1-190902
基本的ui控制的网络链接的功能,对socket的原理尚不完全了解
1-1-190903
基本了解了socket的一些原理,由于sever在接受链接是自动分配的,重写incomingConnection可以分辨不同的socket。但是其本身的数据类型方便使用
基本的客户端的注册功能
1-1-190904
完成了登录和注册的功能,ui尚不完善。
1-1-190905
准备加入房间信息,创建了房间类,尝试进行房间相关操作
ps:完成房间有多种思路,若使用QTableWidget的控件可直接在ui伤分组,然后传输数据即可。但是服务器本地发包就需要给每个客户端发包,
这样的效率是很低的。
1-1-190906.07.08 写html5的大作业没时间跟新
1-1-190909
又写了一天,实在是没有思路。
通过槽函数现了一个用户建立房间后服务器给所有客户端发包,实现了大厅房间列表的跟新。功能还不完善。
1-1-190910
想到一种办法。Room类只储存房间信息,包括用户的Id,这样发包的时候需要将用户的id和socket绑定,于是游戏房间内只需要获得成员id就可以
定向发包。为了节省空间,考虑到RoomManage类通过动态内存分配的方式创建Room,所有人退出的时候删除房间。
难点在于怎么将socket绑定到用户id,可以使用QMap容器完成,可以尝试在登录函数中绑定。至于map属于谁,想过设置成tcpsocket的静态数据成员,这样是共享的。
每一个socket都可以使用且占空间小。但是使得tcpsocket的功能变得复杂,severmanager的话则需要在没有构造server的时候就分配空间,且不好对server进行直接的操作。选择
在server中设置map,通过登录信号进行绑定。
绑定id和socket的功能已经实现,但是是否成功不知道如何调试。
--------------------------尝试了写一个roomManager动态管理房间,这样会让服务器Server功能变复杂,很不想这样但是没有找到办法。
尝试比较成功,但是毕竟在server中加入了新的槽函数,这是这几天想到的唯一办法了。
1-1-190911
今天是满课,好像没时间写,晚上尽量完成昨天的收尾工作,顺便写一点加入房间的功能
房间列表还是不要通过roomManage完成,直接通过ui完成。否则跟新房间列表的时候数据传输量有点大
1-1-190912
@@@已经完成了加入房间的功能。
看来将server中的房间用manager管理 是正确的,利用其非常方便。为以后跟新刚刚登录的用户的房间列表做准备。但是client估计不需要了。
******遇到了奇怪的问题,每次收到一个操作后又立马调用了另一个功能。
给客户端加上了listWidget查看操作码。发现了问题。我在测试的时候没有接受加入房间功能的数据,导致数据流中的数据没有流出,又开始了一次 分析函数,进入了其他的操作中。
中秋节就放个假?
1-1-190913
放假是不可能的。
今天完成退出,删除房间的功能。心情好就继续。
写完了加入退出删除。
顺便改了一下信号,登录的时候服务器就会发送房间列表了。
顺便给服务器加了功能显示当前房间数。
明天正式开始写打牌功能
1-1-190914
突然发现给出的文档有房间的实现方式???完蛋了,不想改了。
我还是直接开始打牌功能吧
完成了获取同房间游戏人员状态的功能 完成了开始游戏的功能
1-1-190915
写显示牌的时候遇到了问题。不知道怎么将父窗口指针传给cardmanager,干脆直接在clientmanager里面实现对牌的管理好了.
找到了解决办法,直接将cardmanager声明成clientmanager的数据成员,任何使用的时候用信号槽机制调用相关函数
***********遇到一个问题。cardmanager的display不显示牌,明明已经用ui界面的widget将它初始化了。
终于找到原因了,我忘记重载paintEvent函数,浪费了大量时间。造孽
这个进度估计可能写不完了,尽力吧
1-1-190916
最后的办法就是增加clientManager的复杂度,直接让其显示牌,会让这个类变得复杂,但是实在是没有别的办法了.
已经完成了普通手牌,地主手牌的显示。测试的时候直接让系统随机分地主,如果时间充足可以写抢地主的代码。
1-1-190917
写完了基础版本的所有功能,接下来开始优化,有时间的话添加语音和按钮ui
还需优化: 重复登录出问题,下方的玩家状态框,上次打出的牌不能消失
1-1-190918
完成了玩家状态栏的优化。
完成了防止玩家重复登录同一账号。
1-1-190919
添加了记录游戏积分的功能。将玩家的游戏场数和胜利场数保存在数据库。
玩家在登录和完成游戏后会更新游戏记录
终于完成了抢地主功能。
完成了积分逻辑。
1-1-190920
完成了打牌的语音功能,但是没有完成“不出”的语音。
象征性的改变了一下按钮的ui
本次大作业到此完结。
但是程序的健壮性显然不够,只能说实现了合法操作内的所有功能。
如果客户端在游戏中强制退出则会导致同一房间的所有用户都会停滞。以后有时间再优化吧
七个一
- 粉丝: 8
- 资源: 3
最新资源
- 毕设和企业适用springboot社交应用平台类及虚拟人类交互系统源码+论文+视频.zip
- 毕设和企业适用springboot人力资源管理类及智能会议管理平台源码+论文+视频.zip
- 毕设和企业适用springboot商城类及城市智能运营平台源码+论文+视频.zip
- 毕设和企业适用springboot商城类及车联网管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及食品配送平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及视频监控系统源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及视频内容分发平台源码+论文+视频.zip
- 毕设和企业适用springboot社交应用平台类及云计算资源管理平台源码+论文+视频.zip
- 毕设和企业适用springboot社交应用平台类及用户反馈平台源码+论文+视频.zip
- 毕设和企业适用springboot社交应用平台类及用户数据分析平台源码+论文+视频.zip
- 毕设和企业适用springboot商城类及个性化推荐系统源码+论文+视频.zip
- 毕设和企业适用springboot商城类及电子产品维修平台源码+论文+视频.zip
- 毕设和企业适用springboot商城类及风险控制平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及数据存储平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及数据智能化平台源码+论文+视频.zip
- 毕设和企业适用springboot社交互动平台类及投票平台源码+论文+视频.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈