Python|随机函数——纸牌游戏的发牌机制

问题描述在手机日益重要的当今社会,有很多人都在使用手机上的小程序在玩着各类纸牌游戏。那么今天,我讲述的是用python实现纸牌游戏中的一种——“七王五二三”的发牌。示例:运用random函数,将每一个人的牌进行随机抽取,抽出的牌不重复,最开始每人发五张。输入:请输入参与人数(请不要多于5人):6人数超限,请重新输入:4输出:黑桃6,红心K,黑桃2,梅花4,梅花4,梅花6,红心5,红心9,黑桃J,方块K,红心10,方块9,方块9,红心3,梅花9,黑桃5,红心10,梅花4,方块7,红心6,(在此,默认每五张牌为一人的牌)解决方案用文字描述解题思路,可配合一些图形进行描述以便更好的阐述。准备阶段:我们要对数据进行一个存储,在这里,我们用的是列表来存储这些数据。将牌的花色存储在第一个list1列表里,牌的数字存储在第二个list2列表里,用一个空的str1来存放后面所输出的牌号。然后用int及input函数来让玩家输入参与人数。判断阶段:①判断输入的玩家数是否超过或少于规定人数

②若在正常范围内,则执行else以下的操作;若超过了规定人数,则重新输入,再次执行;若少于规定人数,也是重新输入,再次执行。

输出阶段:先是输出一个能输入数字的字符串,再根据输入的数进行判断过后,输出一个按list1[]+list2[]+“,”形式排列的几个牌号。如本文示例的输出所示。代码清单 随机函数——纸牌游戏的发牌代码import randomlist1=["红心","黑桃","方块","梅花"]list2=["A","1","2","3","4","5","6","7","8","9","10","J","Q","K","KING","QUEEN"]str1 =""        #存放牌组的空字符串s=int(input("请输入参与人数(请不要多于5人):"))if (s>5):        #判断人数是否超限k=int(input("人数超限,请重新输入:"))for j in  range(k):for i  in range(5):a  = random.randrange(1, 54)print(a)if  (a <= 13):print(list1[0] + list2[a])str1 += list1[0] + list2[a] + ","  # "+"把list1和list2的字符串相连接,str1=str1+,存下每一次抽牌的牌号elif (a <= 26):print(list1[1] + list2[a - 13])str1 += list1[1] + list2[a - 13] + ","elif (a <= 39):print(list1[2] + list2[a - 26])str1 += list1[2] + list2[a - 26] + ","elif (a <= 52):print(list1[3] + list2[a - 39])str1 += list1[3] + list2[a - 39] + ","elif (a == 53):print(list2[14])str1 += list2[14] + ","else:print(list2[15])str1 += list2[15] + ","print(str1)elif (s<2):h =  int(input("人数过少,请重新输入:"))for j in  range(h):for i  in range(5):a  = random.randrange(1, 54)print(a)if  (a <= 13):print(list1[0] + list2[a])str1 += list1[0] + list2[a] + ","  # "+"把list1和list2的字符串相连接,str1=str1+,存下每一次抽牌的牌号elif (a <= 26):print(list1[1] + list2[a - 13])str1 += list1[1] + list2[a - 13] + ","elif (a <= 39):print(list1[2] + list2[a - 26])str1 += list1[2] + list2[a - 26] + ","elif (a <= 52):print(list1[3] + list2[a - 39])str1 += list1[3] + list2[a - 39] + ","elif (a == 53):print(list2[14])str1 += list2[14] +  ","else:print(list2[15])str1 += list2[15] + ","print(str1)else:for j in  range(s):for i  in range(5):a  = random.randrange(1, 54)print(a)if  (a<=13):print(list1[0]+list2[a])str1+=list1[0]+list2[a]+","#"+"把list1和list2的字符串相连接,str1=str1+,存下每一次抽牌的牌号elif (a<=26):print(list1[1]+list2[a-13])str1 += list1[1] + list2[a-13] + ","elif (a<=39):print(list1[2]+list2[a-26])str1 += list1[2] + list2[a-26] + ","elif (a<=52):print(list1[3]+list2[a-39])str1 += list1[3] + list2[a-39] + ","elif (a==53):print(list2[14])str1 += list2[14] + ","else:print(list2[15])str1 += list2[15] + ","print(str1)结语我们在本文中讲述了在纸牌游戏中的发牌机制,由于我是按照“七王五二三”这个纸牌游戏的原型来做的,所以本次纸牌游戏每个人只循环5次。在本次实验中,出现了很多问题,但都在一一解决。遗憾的是,我们暂时还不能实现整个牌局,这还需要下来好好的研究一下,此次就先讲述一下我们在理解发牌规则后所写出的发牌机制。实习编辑:衡辉作者:陈文杰、邓斯丹、李俭

(0)

相关推荐

  • 小姨开水果店的,所以今天用Python写了一个水果店小系统!

    前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈  我这个小姨也是一起长大的,她心里的小九九  我在清楚不过了!肯定是有求于我!  然后就直接问他有 ...

  • Python 理论背诵

    python里的数据结构都有哪些(5种) Python中数据结构有数字.字符串.列表.元组.字典 Python中的列表,字典,元组的区别 (1)首先列表和元组是有序的集合,而字典是无序的对象集合:字典 ...

  • 辉煌音乐中扣人心弦的纸牌游戏——英国皇家歌剧院新版《黑桃皇后》

    歌剧<黑桃皇后>(The Queen of Spades)是俄国著名作曲家柴可夫斯基的一部晚期代表作,改编自亚历山大·普希金(Alexander Pushkin)发表于1834年的同名短篇 ...

  • 好玩又有趣的Python实例小游戏代码,我能在电脑上琢磨一天

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 Python免费学习资料 ...

  • Python之猜拳游戏

    第一次写这东西,主要是为了记录自己的学习历程,或者说是为了忘记的时候找回来看看. 今天是参加风变编程培训第10天.昨天晚上完成了第10关关底的猜拳小游戏. 要求:人和电脑轮流出拳.判断输赢. 给出列表 ...

  • 李老师的纸牌游戏

    又一次在李老师引导下玩Points of You卡牌心理学游戏.先是一段冥想音乐,像骑马穿越沙漠和市集的旅途,从人群中缓缓而过.音乐结束后开始命题游戏:什么造就了今天的你?什么使你成为今天的样子?在众 ...

  • 友尽妙招:用Python解“智力游戏”

    大家好,欢迎来到Crossin的编程教室!我是Crossin. 之前国庆假期在家闲来无事,找了一本"思维训练手册"(其实就是一些智力题.推理题,甚至"脑筋急转弯" ...

  • 【专题】认识沙盘游戏的脑神经机制

    沙盘游戏的过程涉及到多个身体系统,包括身体的运动.触觉.视觉.抓握和移动(沙具)等.在来访者一开始触摸沙子选择沙具时,就已激活了情绪和记忆. Badenoch(2008)研究发现人触摸沙子时的躯体感觉 ...

  • 强烈推荐!4个 Python 的编程游戏网站,你知道不?

    编辑:Python编程时光 学习编程虽然对有些人来说是件乐事,但是对大多数人来说仍然是一件比较枯燥困难的事情.当然,面临这样困惑的人并不是你一个.于是就出现了许多通过游戏来教你编程的平台,寓教于乐,让 ...

  • 十分钟学会python编写小游戏

    春节过了一大半,各位生信技能树的童鞋们,亲戚问你的生信专业能干哈没? 卤煮早就咬牙切齿准备好了:无聊了都能自己编游戏自己玩!(到底是有多寂寞--) 那么看完这一篇推送,赶紧拿出手机,秀秀自己编的游戏, ...

  • 王者荣耀:辅助防守野区,被判定干扰游戏,举报机制惩善扬恶?

    在王者荣耀中,大部分玩家肯定都遇到过"奇葩"队友,一些心态脆弱或者演员玩家,会在游戏中故意做出干扰正常游戏的举动,比如说:不出辅助宝石故意抢线.故意送人头.故意抢野等等,这些行为对 ...