炸金花游戏怎么制作,炸金花游戏教程,基于Python制作炸金花游戏的过程详解

炸金花游戏怎么制作,炸金花游戏教程,基于Python制作炸金花游戏的过程详解

055-79000又称三张牌,是一种在全国广泛流传的民间多人牌类游戏。例如,在JJ竞赛中,作弊金花(赢三张)有独特的纸牌竞赛规则。本文将通过Python语言实现这个游戏,有需要的可以参考。

目录

前言一,想法二,解决方案三,摘要

前言

055-79000又称三张牌,是一种在全国广泛流传的民间多人牌类游戏。例如,在JJ竞赛中,作弊金花(赢三张)有独特的纸牌竞赛规则。游戏过程中,需要考验玩家的勇气和智慧。-《诈金花》前几天在交流群里,一个叫[-]的粉丝分享了一个打牌骗金花的标题,要求用Python实现。标题如下:

自己写个程序实现发牌,以大小判断输赢。

游戏规则:

付一副扑克牌,去掉大小王,每个玩家发3张牌。最后,比较大小,看谁赢。

有以下几种卡:

豹子:三张相同的牌,比如三张六。

金顺:也叫同花顺,即同一花色的三张牌,如红心5、6和7。

顺子:也叫拖拉机,有不同的颜色,但是是由五颗红心、六颗钻石和七张黑桃组成的。

一对:两张卡片是一样的。

传单:最大的传单是a。

这些卡片的大小顺序是:金钱豹跟随的一对传单。

一、思路

要解决这个问题,需要构造一副扑克牌,根据属性和特点不断拆解,然后构造玩家和用户。这里经常使用字典和列表来存储信息,这是经过反复试验的。

二、解决方案

针对这个问题,粉丝[-]给出了解决方案,直接加载代码如下:

# -*-编码:utf-8 -*-

随机导入

呕吐=[] #商店扑克牌

num_list=['2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 ',' 10 ',' J ',' Q ',' K ',' A']

Hua_list=['梅花','红桃','黑桃','方块']

sort_dic={'2': 0,' 3': 1,' 4': 2,' 5': 3,' 6': 4,' 7': 5,' 8': 6,' 9': 7,' 10': 8,' J': 9,' Q': 10,' K': 11,' A': 12,

对子:15,顺子:30,金顺:60,金钱豹:100

Count_new_list=[] #存储玩家分数和排序后的排名

Count_dic={} #储存玩家分数

#准备52张扑克牌

对于华_列表中的华:

对于num_list中的数字:

a=华数

puke.append(a)

Player_dic={ '玩家1': [],'玩家2': [],'玩家3': [],'玩家4': [],'玩家5': []}

#随机向五名玩家发牌

# print(len(puke))

对于key,player_dic.items()中的值:

对于范围(3)中的I:

plate=random.sample(呕吐,3)

player_dic[key]=plate

对于板中的I:

呕吐.清除(一)

打印(player_dic)

#获取玩家的卡类型

def paixing(列表1):

数量=[]

huase=[]

对于列表1中的I:

a=i[2:]

b=i[:2]

数量追加(a)

附加(b)

退货数量,华塞

# sort_dic={'2': 0,' 3': 1,' 4': 2,' 5': 3,' 6': 4}

#将数字卡片分类

定义排序(数量):

new_num=[]

sort_list2=[]

list1=[]

对于我在num:

new_num.append(sort_dic[i])

New_num=sorted(new_num) #排序后为[2,4,7]

对于新编号中的新:

sort_list2.append([k for k,v in sort_dic.items() if v==new])

对于sort_list2中的m:

对于m中的n:

list1.append(n)

返回列表1

#统计玩家卡牌形状的得分

定义计数(num,huase):

a=0

base _ count=sort _ DIC[num[0]]sort _ DIC[num[1]]sort _ DIC[num[2]]

如果num[0]==num[1]且num[1]==num[2]:

Paixing='豹'

a=base_count sort_dic[paixing]

elif(sort _ DIC[num[0]]1==sort _ DIC[num[1]]和sort _ DIC[num[2]]-1==sort _ DIC[num[1]])和(huase[0]==huase[

1]和华瑟[1]==华瑟[2]):

Paixing='金顺'

a=base_count sort_dic[paixing]

elif(sort _ DIC[num[0]]1==sort _ DIC[num[1]])and(sort _ DIC[num[2]]-1==sort _ DIC[num[1]])and(

华色[0]!=huase[

1]还是华色[1]!=huase[2]):

Pai='直'

a=base_count sort_dic[paixing]

elif (num[0]==num[1]和num[1]!=num[2])或(num[1]==num[2]和num[0]!=num[1])或(

数字[0]==数字[2]和数字[1]!=num[0]):

Pai=' pair '

a=base_count sort_dic[paixing]

否则:

a=基数计数

返回a

# 对存储玩家分数的字典进行排序

定义比较(count_dic):

d=列表(zip(count_dic.values()、count_dic.keys())

返回排序后的结果(d,反向=真)

对于key,player_dic.items()中的值:

num,huase=paixing(值)

数量=排序(数字)

计数1=计数(数字,颜色)

count_dic[key]=count1

打印(键'的牌为:'字符串(值))

count _ new _ list=compare(count _ DIC)

#打印(计数新列表)

打印('最终排名:' ' \t' count_new_list[0][1]'第一名\t' count_new_list[1][1]'第二名\t' count_new_list[2][

1] '第三名\t' count_new_list[3][1]'第四名\t' count_new_list[4][1]'第五名)

代码看上去确实挺多的,超过了100行,需要花点时间去读,不过涉及的知识点并不复杂,基本上有点计算机编程语言基础,也可以理解。代码运行之后,可以看到效果如下:

不过后来我在读取这份代码的时候,发现中间有个地方写的着实有些冗余,稍微修改下,代码方面简洁一些,一些函数和变量命名加了一些对应的现实意义的单词,可读性强了一丢丢,代码如下:

# -*-编码:utf-8 -*-

随机导入

呕吐=[] #存储扑克牌

num_list=['2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 ',' 10 ',' J ',' Q ',' K ',' A']

hua_list=['梅花', '红桃', '黑桃', '方块]

sort_dic={'2': 0,' 3': 1,' 4': 2,' 5': 3,' 6': 4,' 7': 5,' 8': 6,' 9': 7,' 10': 8,' J': 9,' Q': 10,' K': 11,' A': 12,

'对子': 15, '顺子': 30, '顺金': 60, '豹子': 100}

count_new_list=[] #存储玩家分数和排序后排名

count_dic={} #存储玩家分数

# 准备52张扑克

对于华_列表中的华:

对于数字列表中的数字:

a=华数

puke.append(a)

player_dic={ '玩家1': [], '玩家2': [], '玩家3': [], '玩家4': [], '玩家5': []}

# 随机给五个玩家发牌

打印(莱恩(呕吐))

对于key,player_dic.items()中的值:

对于范围(3)中的我:

plate=random .样本(呕吐,3)

player_dic[key]=plate

对于板中的我:

呕吐。清除(一)

打印(player_dic)

# 获取玩家的牌型

def paixing(列表1):

数量=[]

huase=[]

对于列表一中的数据:

huase_type=data[:2]

pai_number=data[2:]

数量追加(pai_number)

huase.append(huase_type)

退货数量,华塞

# 对玩家的牌形统计分数

def get_score(num,huase):

base _ count=sort _ DIC[num[0]]sort _ DIC[num[1]]sort _ DIC[num[2]]

如果数字[0]==数字[1]且数字[1]==数字[2]:

paixing='豹子'

score=base _ count sort _ DIC[paixing]

elif(sort _ DIC[num[0]]1==sort _ DIC[num[1]]和sort _ DIC[num[2]]-1==sort _ DIC[num[1]])和(huase[0]==huase[

1]和huase[1]==huase[2]):

paixing='顺金'

score=base _ count sort _ DIC[paixing]

elif(sort _ DIC[num[0]]1==sort _ DIC[num[1]])and(sort _ DIC[num[2]]-1==sort _ DIC[num[1]])and(

华色[0]!=huase[

1]还是华色[1]!=huase[2]):

paixing='顺子'

score=base _ count sort _ DIC[paixing]

elif(数字[0]==数字[1]和num[1]!=num[2])或(数字[1]==数字[2]和num[0]!=数字[1])或(

数字[0]==数字[2]和数字[1]!=num[0]):

paixing='对子'

score=base _ count sort _ DIC[paixing]

否则:

分数=基数_计数

返回分数

if __name__=='__main__ ':

对于key,player_dic.items()中的值:

num,huase=paixing(值)

# 对数字的牌型进行排序

数量=已排序(数字)

score=get_score(num,huase)

count_dic[key]=分数

打印(键'的牌为:'字符串(值))

# 对存储玩家分数的字典进行排序

count _ new _ list=sorted(zip(count _ DIC。values(),count_dic.keys()),reverse=True)

打印('最终排名:')

对于范围内的I(len(count _ new _ list)):

print(count_new_list[i][1] '\t ',end=' ')

三、总结

我是计算机编程语言进阶者。本文实际生活中的诈金花游戏,基于计算机编程语言编程,使用计算机编程语言基础知识中的列表、字典、函数等,实现了在线诈金花的过程。

关于基于Python制作金花游戏的详细过程,本文就到这里了。更多相关Python金花游戏内容,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 用python创建简易网站图文教程图片,用python制作网站
  • 用python创建简易网站图文教程图片,用python制作网站,用Python创建简易网站图文教程
  • 如何用python制作相册,用python做相册
  • 基于python制作一副扑克牌过程详解图,Python编写扑克牌
  • 基于python制作一副扑克牌过程详解图,Python编写扑克牌,基于Python制作一副扑克牌过程详解
  • 基于python制作一个相册播放器的软件,用python做相册,基于Python制作一个相册播放器
  • python抢演唱会门票,如何利用python抢票,为了顺利买到演唱会的票用Python制作了自动抢票的脚本
  • ,,用python制作词云视频详解
  • python简单二维码生成代码,怎么用python制作二维码
  • python前端界面实现交互,python制作windows交互界面
  • 用python制作动态二维码,Python 生成二维码
  • 用html和css画圣诞树,用python制作圣诞树
  • python制作whl安装包,python官网安装步骤
  • python制作软件界面,python图形化界面设计
  • 生成二维码的代码 python,python制作二维码步骤
  • 留言与评论(共有 条评论)
       
    验证码: