![landlord-bk](README/landlord-bk.png)
# 1. 游戏规则
<font color="red">不同地域游戏规则可能有些许差异,游戏按照如下规则进行实现。</font>
## 1.1 牌型
| 牌型 | 描述 |
| :--------: | :--------------------------------------: |
| 王炸 | 大王+小王,最大的牌 |
| 炸弹 | 四张同数值牌(如四个 9) |
| 单牌 | 单张的牌(如红桃 3 ) |
| 对牌 | 数值相同的两张牌(如梅花 4+ 方块 4 ) |
| 三张牌 | 数值相同的三张牌(如三个 Q ) |
| 三带一 | 数值相同的三张牌 + 1张单牌,例如: 333+6 |
| 三带二 | 数值相同的三张牌 + 1对牌,例如: 666+33 |
| 顺子 | 五张或更多的连续单牌,不包括 2 和双王 |
| 连对 | 三对或更多的连续对牌,不包括 2 和双王 |
| 飞机 | 二个或更多的连续三张牌,不包括 2 和双王 |
| 飞机带翅膀 | 飞机+同数量的单牌(或同数量的对牌) |
| 四带二 | 四张点数相同的牌 + 两手牌 (两单或两双) |
| 王炸带二 | 王炸 + 两手牌 (两单或两双) |
## 1.2 牌型的大小
- 王炸最大,可以压任意其他的牌型。
- 炸弹比王炸小,比其它牌型大。都是炸弹时按牌的点数比大小。
- 除火箭和炸弹外,其它牌必须要牌型相同且总数量相同才能比大小。
- 单牌按点数比大小(不分花色),依次是:
`大王 > 小王 > 2 > A > K > Q > J > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 `
- 对牌,三张点数相同的牌都按点数比大小。
- 顺子按最大的一张牌的点数来比大小。
- 飞机带翅膀和四带二按其中的三顺和四张部分来比,带的副牌不参与牌型大小的比较。
## 1.3 游戏角色
参与游戏的玩家一共需要三个人,这三个人有两种角色,分别是:
- 地主:1人,三人下注抢地主,分数最高者可称为地主,地主自己一伙。
- 农民:2人,没有抢到地主的玩家为农民,此二人一伙。
## 1.4 游戏规则
1. **发牌**
一副牌 54 张,一人 17 张,留 3 张做底牌,在确定地主之前玩家不能看到底牌。
2. **叫地主 / 抢地主**
- 叫地主按出牌的顺序轮流进行,每人只能叫一次。
- 叫地主时可以叫 “1 分 ” , “2 分 ” , “3 分 ” , “ 不叫 ” 。
- 后抢地主者只能叫比前面玩家高的分或者不叫。
- 抢地主结束后下注分值最大的玩家为地主;如果有玩家叫 “3 分 ” 则立即结束叫地主,该玩家为地主;如果都不叫,则重新发牌,重新叫地主。
3. **第一轮叫地主的玩家**
- 由于是单机版斗地主,直接指定了用户玩家为第一个叫地主的玩家
- 也可以由系统随机选定
4. **出牌**
- 将三张底牌交给地主,并亮出底牌让所有人都能看到。
- 地主首先出牌,然后按逆时针顺序依次出牌,轮到用户跟牌时,用户可以选择 “ 不出 ” 或出比上一个玩家大的牌。
- 某一玩家出完牌时结束本局。
## 1.5 游戏的胜负
任意一家出完牌后结束游戏,先出完牌的玩家代表的角色获胜:
- 地主先出完牌地主获胜
- 任意一个农民先出完牌则农民获胜
## 1.6 游戏计分规则
- 底分:叫地主时的下注分数,可下注分数分别为:1分、2分、3分。
- 倍数:初始为 1 ,每出一个炸弹或王炸翻一倍(留在手上没出的不算)。
当一局游戏结束后,基于低分和倍数计算个玩家得分:
- 地主胜:
- 地主:`2 * 底分 * 倍数`
- 农民:`- 底分 * 倍数`
- 农民胜:
- 地主:`-2 * 底分 * 倍数`
- 农民:`底分 * 倍数`
`在实现的游戏代码中,没有处理春天的情况(一个玩家牌已出完,另外两个玩家的牌一张未出),如若需要,可自行添加。`
# 2. 游戏部署
1. 使用 `QtCreator` 打开项目文件 `Landlords.pro`,编译并生成可执行程序。
2. 关于资源文件的加载:
- 使用`QtCreator`启动程序
将项目目录中的资源文件`resource.rcc`拷贝到生成的`build`目录下即可,build 目录名示例:`build-Landlords-Desktop_Qt_5_15_2_MinGW_32_bit-Debug`
- 直接双击`.exe`可执行文件启动程序
将项目目录中的资源文件`resource.rcc`拷贝到和`.exe`文件同级目录即可。
3. 游戏效果图
4. ![33333](README/33333.png)
![](README/3434.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、纯C++(Qt)版单击斗地主,不包含任何三方库,开箱即用。 2、配置好Qt开发环境(本地VS2019+Qt5.15)即可编译运行。 3、压缩包包含了图片和音乐资源,仅供技术研究学习。 4、基于此软件包可以引入AI人工智能算法(自研或使用DouZero算法),多次训练后提高电脑玩家的竞技水平。 5、基于Qt开发,代码方便跨平台编译为手机版本游戏。
资源推荐
资源详情
资源评论
收起资源包目录
纯C++(Qt)版单击斗地主,可作为课程设计作业,包含声音动画等特效 (417个子文件)
moc_predefs.h.cbt 59B
moc_predefs.h.cbt 55B
qrc_res.cpp 52.64MB
gamepanel.cpp 29KB
strategy.cpp 23KB
moc_gamecontrol.cpp 9KB
playhand.cpp 9KB
gamecontrol.cpp 9KB
moc_player.cpp 7KB
bgmcontrol.cpp 6KB
moc_buttongroup.cpp 6KB
moc_countdown.cpp 4KB
moc_cardpanel.cpp 4KB
cards.cpp 4KB
moc_endingpanel.cpp 4KB
moc_userplayer.cpp 4KB
moc_animationwindow.cpp 3KB
buttongroup.cpp 3KB
moc_robotgraplord.cpp 3KB
moc_robotplayhand.cpp 3KB
moc_bgmcontrol.cpp 3KB
moc_scorepanel.cpp 3KB
moc_gamepanel.cpp 3KB
moc_mybutton.cpp 3KB
moc_loading.cpp 3KB
moc_robot.cpp 3KB
animationwindow.cpp 3KB
robot.cpp 2KB
player.cpp 2KB
endingpanel.cpp 2KB
mybutton.cpp 1KB
cardpanel.cpp 1KB
countdown.cpp 1KB
scorepanel.cpp 1KB
card.cpp 1KB
loading.cpp 1KB
main.cpp 342B
robotplayhand.cpp 233B
userplayer.cpp 221B
robotgraplord.cpp 215B
Landlords.exe 13.05MB
Landlords.vcxproj.filters 31KB
qtvars.vcxproj.filters 493B
ui_buttongroup.h 8KB
ui_scorepanel.h 5KB
ui_gamepanel.h 3KB
gamepanel.h 3KB
playhand.h 3KB
bgmcontrol.h 3KB
player.h 2KB
gamecontrol.h 2KB
strategy.h 2KB
cards.h 2KB
cardpanel.h 1KB
card.h 1KB
mybutton.h 661B
buttongroup.h 651B
animationwindow.h 636B
scorepanel.h 601B
endingpanel.h 539B
countdown.h 461B
robot.h 401B
userplayer.h 356B
loading.h 331B
robotplayhand.h 330B
robotgraplord.h 320B
moc_predefs.h 245B
logo.ico 240KB
logo.ico 240KB
7B28B18F-2C67-3742-AAF7-B40D091763CE.Landlords.designtime.idx 66B
Landlords.ilk 2.88MB
playList.json 6KB
Landlords.lastbuildstate 189B
LICENSE 7KB
qt_work.log 18KB
Landlords.log 791B
qtvars.log 88B
README.md 5KB
note.md 497B
MusicEx_Welcome.mp3 778KB
MusicEx_Normal2.mp3 757KB
MusicEx_Exciting.mp3 738KB
MusicEx_Normal.mp3 716KB
MusicEx_Lose.mp3 137KB
MusicEx_Win.mp3 126KB
Special_Dispatch.mp3 60KB
Special_Escape.mp3 37KB
Special_plane.mp3 27KB
Special_Bomb.mp3 25KB
Special_flower.mp3 22KB
Woman_baojing2.mp3 21KB
Man_baojing2.mp3 18KB
Special_Multiply.mp3 17KB
Special_star.mp3 15KB
Man_baojing1.mp3 14KB
Special_alert.mp3 13KB
Special_Remind.mp3 13KB
Woman_baojing1.mp3 11KB
Woman_sidailiangdui.mp3 11KB
Woman_Rob2.mp3 11KB
共 417 条
- 1
- 2
- 3
- 4
- 5
资源评论
欧特克_Glodon
- 粉丝: 4w+
- 资源: 64
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现配电网三相潮流计算方法,对几种常用的配电网潮流计算方法进行了对比分析.rar
- 基于matlab实现配电网潮流 经典33节点 前推回代法潮流计算 回代电流 前推电压 带注释.rar
- 基于matlab实现模拟退火遗传算法的车辆调度问题研究,用MATLAB语言加以实现.rar
- 基于matlab实现蒙特卡洛的的移动传感器节点定位算法仿真代码.rar
- 华中数控系统818用户说明书
- 基于matlab实现卡尔曼滤波器完成多传感器数据融合 对多个机器人的不同传感器数据进行融合估计足球精确位置.rar
- 基于matlab实现进行简单车辆识别-车辆检测.rar
- 基于JSP物流信息网的设计与实现
- 基于matlab实现车牌识别程序,和论文,自己做的,做毕业设计的可以看看 .rar
- Windows系统下安装与配置Neo4j的步骤
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功