开发环境:

IDE:Pycharm

OS:mac Monterey version 12.5

游戏说明

此游戏是一款扑克牌游戏,扑克牌颜色为红桃,黑桃,方块,梅花。牌值为1-13, JQK为牌值0.5

游戏规则:每轮参与玩家任意个,然后依次发牌,玩家不要牌,如果总牌值不超过11,继续给下一个玩家发牌,如果哪位玩家总牌值超过11, 就爆点,牌子清零。最后计算哪个玩家牌值最高,就算赢家。

源代码如下:

import random# 最后的玩牌结果
result = {}# 组建玩家列表
def build_player(player_lst):while 1:player = input('请输入玩家姓名:(q/Q退出)')if player.upper() == 'Q':breakplayer_lst.append(player)return player_lst# 生成一副扑克牌
def get_poke_lst():'''生成一副牌:return: 返回一副牌'''total_poke_lst = []color_lst = ['红桃♥️', '黑桃♠️', '方片♦️', '梅花♣️']num_lst = []for num in range(1, 14):num_lst.append(num)for color in color_lst:for num in num_lst:item = (color, num,)total_poke_lst.append(item)return total_poke_lst# 发牌函数
def get_poke(player, poke_lst):'''随机发牌,返回牌值:param player: 玩家名:param poke_lst: 总的牌列表:return: score'''# 给用户发第一张牌score = 0index = random.randint(0, len(poke_lst) - 1)poke = poke_lst.pop(index)value = poke[1]if poke[1] > 10:value = 0.5score += valueprint(f'给{player}发的牌:{poke[0]}{poke[1]}, 此刻所有牌的面值总和:{score}')return score# 玩牌
def play_poke():player_lst = []player_lst = build_player(player_lst)# 生成一副牌total_poke_lst = get_poke_lst()for player in player_lst:# 给用户发第一张牌,牌值score = get_poke(player, total_poke_lst)# 用户选择是否继续要while 1:choice = input('是否继续要牌(Y/N)?')choice = choice.upper()# 用户输入的不是Y/Nif choice not in {'Y', 'N'}:print('输入有误,请重新输入')continue# 用户输入N, 不继续要牌if choice == 'N':print(f'{player}不要牌了')breakscore += get_poke(player, total_poke_lst)print(f'{player} 此刻所有牌的面值总和:{score}')# 大于11点, 则用户爆了切分值为0if score > 11:print(f'玩家{player}爆了')score = 0breakresult[player] = scorereturn result# 游戏及最后结果
def play():print('欢迎进入摸大点扑克游戏'.center(60, '='))result = play_poke()print('\n')print(' 最后的成绩 '.center(50, '*'))print(result)score_result = list(result.values())  # 分值的列表for player in result:if result[player] == max(score_result):print(f'赢家为 {player}')# 扑克界面
menu_info = '''
*******   摸大点扑克牌游戏   ********【1】玩扑克【2】退 出
'''
if __name__ == '__main__':while 1:print(menu_info)choice_num = input('输入序号:')if choice_num.isdecimal():choice_num = int(choice_num)if choice_num == 1:play()elif choice_num == 2:exit('Bye.')else:print('请输入数字【1|2】')

运行结果如下图:

Python扑克游戏编程---摸大点相关推荐

  1. python小游戏编程arcade----坦克动画图片合成

    python小游戏编程arcade----坦克动画图片合成 前言 坦克动画图片合成 1.PIL image 1.1 读取文件并转换 1.2 裁切,粘贴 1.3 效果图 1.4 代码实现 2.处理图片的 ...

  2. python外星人入侵游戏代码大全-Python外星人入侵游戏编程完整版

    PYTHON游戏编程外星人入侵的完整实现思路,具体内容如下 准备工作:下载python,比如Anaconda3(64 bit),导入pygame游戏包 1.外星人设置,alien.py,代码: imp ...

  3. python简单游戏编程入门_[翻译]Python游戏编程入门

    自己学习翻译,原文链接. 此文为Tutorial Team成员 Julian Meyer, 一个13岁的Python开发者所写. 你可以去Google+或者Twitter找到他. 你有没有想过,一个计 ...

  4. python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目

    另外要注意:光理论是不够的.这里顺便总大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交 ...

  5. c语言无符号整型除法,用位运算的方法实现无符号整数的除法,游戏编程 | 李大仁博客...

    相信知道除法的作用的人都知道除法怎么来计算吧,不过计算机计算除法的方法可能优点浪费资源了以下是使用位计算转换除法的过程,相信知道游戏编程的朋友对这个应该不陌生吧 原理:假如要实现A/B,B如果是2的整 ...

  6. python猜拳游戏编程代码_用python实现“猜拳游戏

    原标题:用python实现"猜拳"游戏 用python实现"猜拳"游戏 先来练习一道用python编写的小程序 这道题是用for in 循环实现输入10个数并求 ...

  7. python小游戏编程实例-Python实现的弹球小游戏示例

    本文实例讲述了Python实现的弹球小游戏.分享给大家供大家参考,具体如下: 弹球 1. Ball 类 draw负责移动Ball 碰撞检测,反弹,Ball检测Paddle 2.Paddle类 draw ...

  8. python小游戏编程100例_经典编程100例——python版(例9例10)

    最近事情比较多,python还在学习之中,更新速度慢了一些.今天就2例. 例9:一个数如果恰好等于它的因子之和,这个数就称为"完数".如6=1+2+3.编程找出1000之内所有的完 ...

  9. python石头剪刀布游戏编程_Python实现简单石头剪刀布游戏

    近日在学习Python的一些基础知识,觉得还是很有趣的一个一门语言!就目前的学习的一些知识,编写了一些一个简单的石头剪刀布的游戏.主要是熟悉一些Python的一些控制语句. import random ...

最新文章

  1. JavaScript中的+0与-0
  2. android studio换主题,为Android Studio换上一副更加好看的主题
  3. 【bzoj1195】[HNOI2006]最短母串 AC自动机+状态压缩+BFS最短路
  4. mysql分库分表事务控制_数据库分库分表之后,你是如何解决事务问题?
  5. http request乱码的真相
  6. 微信阅读原文直接打开浏览器_微信打开网址添加在浏览器中打开提示
  7. 数据中心建设流程附带建设标准(推荐收藏)
  8. python引入redis_使用python向Redis批量导入数据
  9. Kotlin基础-扩展
  10. 谈身份管理之基础篇 - 保障云上安全,从[规范账号使用]开始
  11. ORM框架之Mybatis(五)mybatis生成器配置文件说明以及生成的类的说明
  12. css案例学习之父子块的margin
  13. 中海达手簿html测量报告,中海达GPS静态测量—内业解算导出报告(HGO静态解算软件教程)...
  14. “微积分7天搞定”学习记录
  15. Word文档如何插入表格
  16. 一款游戏让你成为 Vim 高手!
  17. 基于DCT变换的JPEG图像压缩
  18. Meteor android apk打包两种方式
  19. 线程状态是五种对?还是六种对?
  20. Redis 根据IPv6地址查询全球国家、省、市位置信息方案

热门文章

  1. java保存数据到session中_java session如何存取数据
  2. 菲律宾钱包商Coins.ph正式推出支持BCH的钱包版本
  3. 1.3.1 数据报套接字编程
  4. 类的静态数据成员和静态成员函数浅析
  5. 2021年电工(初级)及电工(初级)考试试题
  6. PR短视频模板 创意食品外卖配送卡通人物素材PR模板
  7. 《码农翻身》--知识点总结--01我是一个线程---线程生命周期、线程池、缓存、锁
  8. 计算机专业论文题目学术性表达,新颖的计算机类学术论文选题 计算机类学术论文题目怎样拟...
  9. CPU电源管理(P-state)
  10. html字母相关符号