扑克游戏架构及其实现(二)

博客主要介绍了定义系统对象以及网络消息传递概述两方面内容,涉及信息技术中系统对象构建和网络通信相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义系统对象

该对象负责与其他端进程的通信,打包和解析命令消息,组成流水线,发至通讯平台。控制洗牌、发牌操作,主持回收牌销毁牌的动作。判定可以出牌的玩家,并予以令牌。记录牌局中的某轮的赢家等等牌局中的公共信息。
展现自使用者面前的界面,自MFC类CView的派生类对象。
该对象继承自MFC的CWnd类,保存了关于一张扑克的面值、花色及按照某个特定算法的大小值。
游戏者的相关的信息,包括持牌信息、ID等保存在这个对象中。
可用来集中设定规则,负责所有玩家出牌之后的大小比较工作。
洗牌动作时,发牌之间随机生成的牌存放于牌盒中;此后以逆时针次序每个玩家从中领取一张牌。
玩家点击提交出牌后,由本对象检查出牌的合法性,若合法则出牌成功。玩家出牌成功后,所出牌移至该队列。
在捉分的扑克游戏中,需要将分牌放至每个玩家对象的该队列,便于后来统计。
在某些特定游戏中,例如拱猪,玩家选择一些分牌出示给所有其他玩家看,这些牌在以后的积分计算中被加倍计算。而本对象就用来在这些牌被打出之前保存它们。
每一轮出牌过后,经裁判比较大小、分拣分牌,则将剩下的的其它牌放入回收队列,待一副牌结束后集中销毁(delete)。
封装了要传输的消息,提供了丰富的字符串操作方法。

网络消息传递概述

消息传递的目的是同步各端的状态和数据,具体由各种命令来操作。
从远端与本地端之间的联系依靠“消息”完成
消息由字符的形式串,由一系列命令组成。
命令可以有参数。
解析:根据其中的标志位,将收到的字符串(消息,可能包含多个字符串)一一提取命令,并根据其参数,在本地执行相关操作。
组装:由需要发送消息的程序点调用。分配字符串,写入相关命令及其参数,并且把消息(通过Windows自定义窗口消息)发到CgameView,待其送入网络层。
解析组装消息的函数放在Game对象中实现,必需支持连续多个命令的解析和组装。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值