news 2026/4/23 15:54:38

基于 QT(C++) 开发的斗地主游戏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 QT(C++) 开发的斗地主游戏

斗地主

程序设计

启动程序

./poker [12] [A-C]

[12]:也可以选择空,即进入非测试模式,需选择玩家和输入 IP;12均为测试模式,其后需跟上[A-C]表示选择玩家的编号,进入后无需选择玩家,2还会自动连接。

准备界面

这是准备界面,其中上面是一个单选框,选择不同玩家对应的通信策略不同,也可以通过编译参数来选择。中间的是 connect 按钮,点击后输入 IP 或直接开始连接。下面是一个 label。

非测试模式下,点击按钮后需输入 IP

若连接失败,会跳出提示框

游戏界面

双方连接完毕后,进入游戏界面,此时会有斗地主专属音乐循环响起。游戏界面主要有四大区域:己方区域、下家信息区、上家信息区、公共区域。

己方区域

位于下方,从上到下分别是:

  • 状态栏:叫地主、不叫、不出
  • 按钮区:叫地主、不叫、不出、出牌、退出、重新开始。不同状态下显示及可用按钮不同
  • 手牌区:展示手牌
  • 信息栏:玩家名称、剩余手牌数、地主标记
下家信息区

位于左侧,从上到下分别是:

  • 信息栏:玩家名称、剩余手牌数、地主标记
  • 手牌区:展示手牌数相同的牌背
  • 状态栏:叫地主、不叫、不出
上家信息区

位于右侧,同“下家信息区”

公共区域

位于中上,为所有玩家共同可见,从上到下分别是:

  • 地主牌:显示地主牌,地主未确定时为牌面向下,确定后牌面向上
  • 出牌区:显示玩家打出的牌
  • 胜负标识:游戏结束时在画面中央显示 WIN 或 LOSE,并配上相应的音乐

客户端工作流程

客户端连接方式与 PPT 中所给相同。

用户在进入准备界面时需选择 ,或者也可以用编译命令。

若选择 则会主动开启两个 TcpServer 等待连接;选择 会开启一个 TcpServer,另一个为 TcpSocket 与

连接;选择 则会分别启动两个 TcpSocket 与 连接,TcpSocket 连接成功后,TcpServer 将会关闭。

具体代码可查看 poker 目录下的 Server.h & Server.cpp

通信协议

每段信息均由以下四部分组成:[发送方][信息类型][信息内容]$

  • [发送方]:表明信息的发送者,值为[0-2],分别对应 三名玩家。
  • [发送类型]:表明信息的类型。
    • S:此玩家准备完毕
    • A:分发手牌,仅玩家 可发送,后接若干手牌信息
    • 0:分发地主牌,仅玩家 可发送,后接若干地主牌信息
    • T:指定该局游戏玩家顺序,仅玩家 可发送,后接数字表示玩家顺序
    • Y:叫地主或不叫,后接[YN]
    • L:指定地主,仅一号玩家可发送,后接数字表示玩家的顺序
    • P:出牌,后接若干出牌信息
    • R:重新游戏
  • [信息内容]:信息的主体部分,比如0PC4D4H4H=$',表示玩家 出牌 。
    • 扑克:每张扑克信息都由两个字符组成
      • 非大小王:[CDHS]分别表示花色,当[3-9:;<=>?]分别表
      • 小王:J1
      • 大王:J2
  • $:结束标识,每次传递的信息结尾均需加上此符号。故在读取信息时用readAll(),再用split('$')将信息进行分离后依次传回游戏中,从而避免粘包的问题。

All Classes

详见同目录下 refman.pdf

Other Feather

给游戏界面和失败胜利时均加了背景音乐,没有背景音乐的斗地主是没有灵魂的!

♻️ 资源

大小:74.0MB

➡️资源下载:https://download.csdn.net/download/s1t16/87404318

注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:38:52

零基础也能懂的YOLOv12:官方镜像保姆级入门教程

零基础也能懂的YOLOv12&#xff1a;官方镜像保姆级入门教程 你有没有试过——刚兴致勃勃点开一个目标检测新模型的文档&#xff0c;三行字还没读完&#xff0c;就被“注意力机制”“Task-Aligned Assigner”“Flash Attention v2”这些词按在原地&#xff1f;更别说后面跟着的…

作者头像 李华
网站建设 2026/4/23 14:53:23

小白也能懂的图层黑科技:Qwen-Image-Layered保姆级教程

小白也能懂的图层黑科技&#xff1a;Qwen-Image-Layered保姆级教程 你有没有试过这样&#xff1a;一张精心生成的AI图片&#xff0c;想把背景换成海边&#xff0c;结果人物边缘发虚&#xff1b;想给衣服换个颜色&#xff0c;整张图却像被水泡过一样失真&#xff1b;想放大做海…

作者头像 李华
网站建设 2026/4/23 11:34:22

手机拍照人像也能用BSHM完美抠出

手机拍照人像也能用BSHM完美抠出 你有没有遇到过这样的情况&#xff1a;刚用手机拍了一张阳光正好的人像照&#xff0c;想发朋友圈却卡在了换背景这一步&#xff1f;打开修图软件&#xff0c;手动抠图半小时&#xff0c;边缘还是毛毛躁躁&#xff1b;试了几个AI工具&#xff0…

作者头像 李华
网站建设 2026/4/23 11:38:39

fft npainting lama图像修复效果差?三大提升技巧实战分享

FFT NPainting LaMa图像修复效果差&#xff1f;三大提升技巧实战分享 1. 为什么LaMa修复效果不如预期&#xff1f; 你是不是也遇到过这种情况&#xff1a;明明用的是当前最火的LaMa图像修复模型&#xff0c;结果修完的图边缘发虚、颜色不协调、纹理不自然&#xff0c;甚至出现…

作者头像 李华
网站建设 2026/4/23 12:59:27

农业病虫害识别:YOLOE小样本落地案例分享

农业病虫害识别&#xff1a;YOLOE小样本落地案例分享 在田间地头&#xff0c;一张模糊的叶片照片、一段晃动的手机视频、甚至只是农户用方言描述的“叶子卷边发黄还带白点”&#xff0c;往往就是病虫害爆发的最初信号。传统农业AI方案常卡在两个现实瓶颈上&#xff1a;一是标注…

作者头像 李华