JJ游戏被指藏赌博陷阱,网上德州扑克输钱或与此有关
2026年3月25日
德州扑克口袋JJ怎么打?打法建议全在这里
2026年3月25日时间被更新为,二零二一年,四月二十一日,十六时十一分二十四秒,作者是刘sir学代码。
这篇文章侧重介绍了,python实战里的德州扑克第二步,也就是判断牌型,文中存在极为详细的代码示例,对于正处在学习python阶段的小伙伴们而言,有着相当不错的帮助,有需求的朋友能够参考一番。
一、前言
眼下已然抵达,第二步,上一步之际我们已然完成了发牌模块,有了手牌之后,便要对牌型予以判断,平常打扑克之时,我们得借助大脑去判定自己手中的牌归属于哪种类型,现如今我们要借助程序来实施判断!
在以下操作中,需要玩家手里的牌为五张,不然无法判断!
先给出发牌的一个效果图:
给2人发五张牌:

二、分析
当进行观察的时候,是能够看出来的,每一名玩家所拥有的牌,是以字符串的方式来进行存储的,并且,每一张牌对应的字符串的长度,是3(惊)
判断牌型就需要熟悉牌型的组成了
皇家同花顺:同一花色最大的顺子 同花顺:同一花色的顺子 四条:四张相同+1个单张 葫芦:三张相同+1对 同花:5张牌花色相同 顺子:花色不同的顺子 三条:三张相同+2单张 两对:2对+1单 一对:1对+3单张 高牌:五个单张牌
我们将牌型划分成两类,其中同花的包含{皇家同花顺,同花顺,同花},而除此以外的那些则属于非同花。
然后从现在开始,首先得判定是不是同花,接着再进行详细判定,比如说皇家同花顺,它仅有一类形式,直接判定就行,剩下的那些可以查看下面!
事不宜迟,上手操作!
三、敲代码
在这儿,我们首先要清楚,玩家手中牌的花色情况,每一张牌占据三个字符串的位置,其中花色占一个部分,牌值占两个部分德信竞技,那么,我们能不能借助分片这种操作方式,将花色从中提取出来,进而保存到一个列表里面呢!这样做会更便于后续的操作!
COL=copy.deepcopy(C)
for I in range(len(COL)):
for j in range(len(COL[I])):
COL[I][j] = COL[I][j][0:1]
#print("color",C)
return COL
这个函数,也就是深拷贝,在代码当中又一次出现了,关于它具体所具备的作用,在上一篇文章里已经阐述讲解过了,所以这里就不再进行重复性的表述了!
大概流程: 首先深拷贝,含有玩家牌的二维数组 双重循环提取花色,就得到了一个仅含花色的二位列表且对应的玩家没有改变
然后就是判断花色是不是一样
def color_analysis(Color):#是否为同色,传入一维花色列表
f="false"#同花
t="true"#非同花
col=len(set(Color))
if col>1:
return f
else:return t
def color_type(CO):#存储花色是否一样 是:true 否:false
A=["0" for i in range(len(CO))]
for i in range(len(CO)):
A[i]=color_analysis(CO[i])
#print(a)
return A
依靠两个函数来做判断,运用了set()进行去重操作,要是去重以后结果是1,那么就是同花,若不是唯一的1,那就不是同花。
先前我们已经判断好是不是同花了,紧接着然后就是要去裁决那牌值了,首先头一个步骤是要去获取牌值,其思路跟获取花色是一样的,所以就不把代码给贴上呈现出来了,在已经获取其值之后,鉴于当中是含有J,Q,K,A这些的情况,因此我们是需要去做特殊的处理的,具体来说就是我们将牌值里的A替换成为14,把K替换成13,按照这样的方式类推下去J就是11,在经过这种特殊处理之后所得到的是字符类型的值,而我们还得将其转换为整型,为了能够更加便利地去进行比较,相应地进行排序的操作也是同时必要的。
一下只贴出部分代码,已经有了思路,相信你可以把代码补全!
def get_int_value(value):
value=get_transform_value(value)
for i in range(len(value)):
value[i]=list(map(int,value[i]))
return value
def sort_values(values):
values=get_int_value(values)
for i in range(len(values)):
values[i].sort(reverse=True)
return values
通过前面所做的那些操作,我们获取到了玩家手中牌的情况,也就是其牌是不是同花,还有牌的具体数值,并且二者保持着对应的顺序。
然后就是比较了,思路上面已经给出了,给出关键代码:
def judge_card_type(value,Color_type):#value为一个玩家的牌值须按照从大到小排好序,color为对应的花色
result=0
num=0#牌值相同的个数
if len(value)!=5:
print("牌数不为五张或过多,无法判断!")
sys.exit()
for A in range(0, len(value)):#统计相等的个数 或者是否为顺子
if value[A-1]- value[A]== 1:
result += 1#如果为顺子,则resul=4
elif value[A] == value[A - 1]:
num += 1
if Color_type=="true":#同花
if value==[13,12,11,10,9]:#皇家同花顺
return "0"
elif result==4:#同花顺
return "1"
else:return "4"#同花
if Color_type=="false":#非同花
if num==3:#四条或葫芦
if value[1]==value[2]==value[3]==value[4] or value[0]==value[1]==value[2]==value[3]:
return "2"#四条
else: return "3"#葫芦
elif result==4:#顺子
return "5"
elif num==2:#三条或两队
if value[0]==value[1]==value[2] or value[1]==value[2]==value[3] or value[2]==value[3]==value[4]:
return "6"#三条
else: return "7"#两队
elif num==1:#一对
return "8"
else:return "9"#高牌
已经知晓花色,以及牌值,仅仅只需开展简单的判断就行,小编给出的方法相对普通,相信你们能够写出更为出色的!
四、总结
处于上方的那一段代码,仅仅是去返回和不同牌型相对应的数值,我们只需要进行一个简单的转换就行,相信你是能够做到的,代码当中的注释也已经给出了与之对应的牌型。
点击链接查看
python实战之德州扑克第一步-发牌
python实战之德州扑克第三步-比较大小
到此,这篇有关python实战里德州扑克第二步,也就是判断牌型的文章,就介绍到这儿了。更多相关的,python实现德州扑克判断牌型的内容,可搜索脚本之家以前的文章,或者继续浏览下面的相关文章。希望大家以后多多支持脚本之家!


