news 2026/4/12 23:56:09

基于 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/3/30 12:37:42

GPT-OSS开源许可证合规:企业使用注意事项

GPT-OSS开源许可证合规&#xff1a;企业使用注意事项 1. 什么是GPT-OSS&#xff1f;不是OpenAI官方发布的模型 先说清楚一个关键事实&#xff1a;GPT-OSS并不是OpenAI发布的模型&#xff0c;也不是OpenAI开源的项目。网上流传的“GPT-OSS”“gpt-oss-20b-WEBUI”“vllm网页推…

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

YOLOv10-L达到53.2%AP,大模型表现如何?

YOLOv10-L达到53.2%AP&#xff0c;大模型表现如何&#xff1f; 1. 这不是又一个YOLO&#xff0c;而是端到端检测的真正拐点 你可能已经用过YOLOv5、YOLOv8&#xff0c;甚至试过YOLOv9。但当你第一次运行yolo predict modeljameslahm/yolov10l&#xff0c;看到结果框里没有NMS…

作者头像 李华
网站建设 2026/4/11 21:24:40

低延迟响应实测:gpt-oss-20b-WEBUI适合实时对话吗

低延迟响应实测&#xff1a;gpt-oss-20b-WEBUI适合实时对话吗 在本地部署大模型时&#xff0c;我们常被两个问题困扰&#xff1a;模型够不够强&#xff1f;响应快不快&#xff1f; 前者关乎回答质量&#xff0c;后者决定交互是否自然——尤其在语音助手、客服机器人、教育陪练…

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

Altium Designer 23输出Gerber操作指南

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术文章 。全文已彻底去除AI痕迹、模板化表达和空洞套话&#xff0c;以一位 十年PCB工程老兵量产交付负责人 的口吻重写&#xff0c;语言更自然、逻辑更紧凑、细节更扎实&#xff0c;同时严格遵循您提出的全部优…

作者头像 李华
网站建设 2026/3/26 10:28:49

Altium Designer安装教程:防错机制与安全设置深度解析

以下是对您提供的博文内容进行 深度润色与结构重构后的专业级技术文章 。全文严格遵循您的所有要求&#xff1a; ✅ 彻底去除AI痕迹&#xff0c;语言自然、有经验感、带工程师口吻 ✅ 摒弃“引言/概述/总结”等模板化标题&#xff0c;以逻辑流驱动叙述节奏 ✅ 所有技术点均…

作者头像 李华
网站建设 2026/4/11 20:09:05

测试开机启动脚本推荐写法,结构清晰易维护

测试开机启动脚本推荐写法&#xff0c;结构清晰易维护 在Linux系统中&#xff0c;让某些命令或服务在开机时自动运行&#xff0c;是运维和开发中非常常见的需求。但很多人写的开机启动脚本&#xff0c;要么一重启就失效&#xff0c;要么逻辑混乱难以排查&#xff0c;甚至在新版…

作者头像 李华