当前位置: 首页 > 科技 > 人工智能 > 上班摸鱼系列|Python开发命令行斗地主_腾讯新闻

上班摸鱼系列|Python开发命令行斗地主_腾讯新闻

天乐
2021-03-15 19:38:15 第一视角

前言

大家好,欢迎来到 Crossin的编程教室 !

今天给大家分享一个mini游戏案例:用Python开发一个命令行斗地主小游戏,利用跑程序的时间来一把斗地主岂不是非常快乐?关键是没有时间限制,可以随时断点续玩。赶紧喊上老板和产品经理一起开一局吧

先来看个效果:

简单讲讲如何使用python开发这样一个斗地主游戏,我们先来想想进行一场斗地主游戏所经历的过程:首先生成54张扑克,然后将这54张扑克随机发给三名玩家,每个玩家17张牌并保留三张底牌,接着从第一个玩家开始询问是否抢地主,如果成为地主则获得三张底牌,这样依次循环直到地主出现,之后就是根据出牌规则完成一系列的出牌动作,最先出完牌的人取得胜利并按照记分规则累积分数(欢乐豆)。

因为仅供自己娱乐使用所以不用做UI界面,不用登陆不用注册,不用分客户端、服务端以及一些消息传输等复杂的内容,简单来说只需要完成洗牌发牌出牌规则以及生成指定数量的机器人陪玩即可。因此我们仅使用纯python不依赖任何第三方库来开发。

洗牌与发牌的实现

洗牌与发牌是比较好搞定的,基本上使用python标准库random即可,比如生成牌库:

洗牌与发牌:

其他功能实现与使用

那么在打牌过程中的出牌与判定规则就很难去搞定了,于是只能求助GitHub大神,很遗憾大多数项目还是比较大型的交互式斗地主游戏开发,不满足我们的简单版需求,经过一番查找与修改最终整理出一份能够实现我们之前所提出的命令行的斗地主程序(没有依赖任何第三方库),来看看部分代码,例如判定两个玩家的出牌:

那我们生成的AI是按照什么样的规则出牌?(你可以修改ai.py部分代码调整规则)

分析手牌

由于篇幅原因就不展示全部代码。

使用也很简单,从命令行进入doudizhu文件夹执行即可。

摸鱼时记得关掉声音或者删除源码中bgm相关代码。不过我要说:没有bgm的斗地主是没有灵魂的斗地主。(注意:若因上班斗地主被开除,本公众号概不负责)

祝大家工作愉快!

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部