news 2026/9/10 16:50:12

斗地主-python Tkinter

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
斗地主-python Tkinter

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。

一、项目描述

一款用 Python + Tkinter 实现的单机桌面斗地主游戏:人类玩家对阵 2 名 AI。

二、项目功能

– 一副 54 张牌(含大小王),发牌 17×3 + 3 张地主底牌。
– 叫地主 / 抢地主(0–3 分制),1 地主 vs 2 农民。
– 完整出牌规则引擎:单张、对子、三张、三带一/二、顺子、连对、飞机(带单/对)、四带二、炸弹、王炸,及压制比较。
– 回合流程:轮转出牌、跟牌、双 Pass 收牌权转移、新一轮起手。
– 三档 AI 难度:Easy / Medium / Hard。
– 玩家辅助:Pass、Hint(提示,可轮换候选)、Auto Play(代打一手)、Auto Mode(托管)。
– 胜负判定与计分(炸弹/王炸翻倍、春天翻倍),并支持跨局累计战绩。
– 图形界面:手牌点选、出牌区、玩家状态、操作按钮、菜单栏(游戏/帮助)。
– 键盘操作与无障碍:←→ 移动焦点、空格选牌、Enter 出牌、P/H/A/Esc 快捷键。
– 记牌器(各点数已出/剩余)与规则/牌型帮助窗口。
– 偏好设置(默认难度、卡片大小、AI 出牌延迟)持久化,首次引导与按钮 tooltip。
– 运行日志与崩溃日志落盘到用户数据目录(Windows `%APPDATA%\DouDizhu\logs\`)。
2.玩法
2.1. 顶部选择 AI 难度,自动发牌进入叫地主。
2.2. 轮到你时点“不叫/1/2/3 分”叫分;AI 自动叫分,确定地主。
2.3. 出牌阶段:点手牌选中(选中的牌上移高亮),点【出牌】出牌;跟不上可【Pass】。
2.4. 不会出时点【Hint】获取推荐(重复点轮换),或【Auto Play】代打一手。
2.5. 点【Auto Mode】开启托管,系统自动替你打完本局。
2.6. 一方出完牌本局结束,弹窗显示胜负与得分,点【新局】开始下一局。

三、运行环境

开发环境pycharm
运行环境 python3.8

四、项目技术

Python Tkinter

以上系统源码经过技术整理与调试,确保能正常运行

五、项目截图

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

WebRTC C++ API深度解析:从PeerConnection到NAT穿透

简介:面向WebRTC C开发者的项目文件包,适合有一定C/C基础、希望深入实时音视频通信领域的开发者。包内以src核心源码、example示例、test测试、dist编译产物和构建配置为主线,覆盖音视频采集、编码、解码、传输及信令交互等关键环节&#xff…

作者头像 李华
网站建设 2026/9/10 16:46:58

C#读写西门子PLC数据:S7.NET连接、DB块读写与批量操作实战

简介:面向需要实现上位机与西门子PLC数据交互的C#开发者,这份例程源码基于S7netplus库,完整演示了连接S7系列PLC、读取与写入BOOL/INT/DWORD等数据类型,以及异常处理、断开连接等关键流程。资源内同时提供“读写PLC数据”和“S715…

作者头像 李华
网站建设 2026/9/10 16:45:28

微信小程序开发12大核心要点与实战解析

1. 微信小程序面试核心要点解析作为微信生态的重要入口,小程序开发能力已成为前端工程师的必备技能。最近在帮团队面试中级前端时,我发现很多候选人对小程序的理解停留在API调用层面,缺乏系统性的认知。这里整理出实际面试中最常考察的12个核…

作者头像 李华