news 2026/4/18 9:34:39

基于 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/18 5:57:17

真实体验分享:Qwen3-Embedding-0.6B在文本匹配中的表现

真实体验分享&#xff1a;Qwen3-Embedding-0.6B在文本匹配中的表现 你有没有遇到过这样的问题&#xff1a;搜索一个技术问题&#xff0c;返回的文档里明明有答案&#xff0c;但关键词不匹配&#xff0c;系统就是找不到&#xff1f;或者给客服机器人发了一段长描述&#xff0c;…

作者头像 李华
网站建设 2026/4/16 17:51:13

Qwen-Image-Edit-2511让图像编辑更可控,亲测有效

Qwen-Image-Edit-2511让图像编辑更可控&#xff0c;亲测有效 1. 这不是又一个“微调版”&#xff1a;为什么2511值得你重新打开编辑器 你有没有试过这样&#xff1a;花十分钟精心写好提示词&#xff0c;选好原图&#xff0c;点下生成——结果人物脸型变了、衣服花纹错位了、连…

作者头像 李华
网站建设 2026/4/18 8:41:59

FSMN VAD与传统方法对比:AI检测到底强在哪

FSMN VAD与传统方法对比&#xff1a;AI检测到底强在哪 语音活动检测&#xff08;Voice Activity Detection&#xff0c;VAD&#xff09;看似是个小功能&#xff0c;却像音频处理流水线里的“守门人”——它决定哪一段是值得处理的语音&#xff0c;哪一段该被安静地过滤掉。在会…

作者头像 李华
网站建设 2026/4/14 6:55:51

Excel隐藏的文本函数宝藏:CLEAN、VALUE、NUMBERSTRING实战指南

在Excel的文本函数库中&#xff0c;除了常用的LEFT、RIGHT、MID之外&#xff0c;还有一些隐藏的宝藏函数。今天我们就来深入挖掘CLEAN、VALUE和NUMBERSTRING这三个实用但常被忽略的函数。 一、CLEAN函数&#xff1a;数据清洗的隐形守护者 函数功能 删除文本中所有非打印字符&…

作者头像 李华
网站建设 2026/4/15 13:49:10

完整指南:主板上USB 3.x接口的物理兼容性分析

以下是对您提供的博文《完整指南&#xff1a;主板上USB 3.x接口的物理兼容性分析》进行 深度润色与专业重构后的终稿 。本次优化严格遵循您的全部要求&#xff1a; ✅ 彻底去除AI腔调与模板化结构&#xff08;无“引言/概述/总结”等机械分节&#xff09; ✅ 所有内容以 工…

作者头像 李华
网站建设 2026/4/16 2:09:21

用Z-Image-Turbo做AI绘画:本地部署+实时生成全流程实操

用Z-Image-Turbo做AI绘画&#xff1a;本地部署实时生成全流程实操 你是否试过输入一句描述&#xff0c;等了七八秒才看到第一张图缓缓加载出来&#xff1f;是否在电商赶稿时&#xff0c;因模型卡顿反复刷新页面而焦虑&#xff1f;又是否曾为中文提示词被“翻译失真”——输入“…

作者头像 李华