当前位置: 首页 > ai >正文

一个投骰子赌大小的游戏

一个投骰子赌大小的游戏

机器人和用户的起始资金都是 10 个硬币
• 要求用户猜大小:
■ 用户输入 b 代表 “大”;
■ 用户输入 s 代表 “小”;
■ 用户输入 q 代表 “退出”;
• 用户的输入和随机产生的数字比较有以下几种情况:
■ 随机数小于 7,用户猜小,用户赢;
■ 随机数小于 7,用户猜大,用户输;
■ 随机数等于 7,用户无论猜大还是猜小,结局平,不输不赢;
■ 随机数大于 7,用户猜小,用户输;
■ 随机数大于 7,用户猜大,用户赢; • 游戏结束条件:
■ 机器人和用户,若任意一方硬币数量为 0,则游戏结束;
■ 用户输入了 q 主动终止游戏。

from random import randrangecoin_user, coin_bot = 10, 10 # 可以用一个赋值符号分别为多个变量赋值
rounds_of_game = 0def bet(dice, wager):    # 接收两个参数,一个是骰子点数,另一个用户的输入if dice == 7:print(f'The dice is {dice};\nDRAW!\n') # \n 是换行符号return 0elif dice < 7:if wager == 's':print(f'The dice is {dice};\nYou WIN!\n')return 1else:print(f'The dice is {dice};\nYou LOST!\n')return -1elif dice > 7:if wager == 's':print(f'The dice is {dice};\nYou LOST!\n')return -1else:print(f'The dice is {dice};\nYou WIN!\n')return 1while True:         #  除 for 之外的另外一个循环语句print(f'You: {coin_user}\t Bot: {coin_bot}')dice = randrange(2, 13)   # 生成一个 2 到 12 的随机数wager = input("What's your bet? ")if wager == 'q':break elif wager in 'bs':  # 只有当用户输入的是 b 或者 s 得时候,才 “掷骰子”……result = bet(dice, wager)coin_user += result    # coin_user += result 相当于 coin_user = coin_user + resultcoin_bot -= resultrounds_of_game += 1if coin_user == 0:print("Woops, you've LOST ALL, and game over!")breakelif coin_bot == 0:print("Woops, the robot's LOST ALL, and game over!")breakprint(f"You've played {rounds_of_game} rounds.\n")
print(f"You have {coin_user} coins now.\nBye!")
def bet (dice ,wager ):
函数主要是被调用配合下面
while True:主函数
def判断骰子点数和用户输入大小确定返回值大小while True:(无限循环碰到break直接跳出)
首先输出用户和机器所拥有的筹码
再输入骰子点数和用户选项赋给def bet 函数
判断用户选项通过def的返回值给筹码进行加减
同时游戏场数+1
最后分出胜负输出结果(玩家主动退出也可结束游戏)
http://www.xdnf.cn/news/19294.html

相关文章:

  • H264几个参数说明
  • Maya基础:烘焙动画
  • 网络爬虫是自动从互联网上采集数据的程序
  • VSCode的launch.json配置文件在C++项目调试中的全面应用
  • VB.NET 多次添加字符串数据,再转换成一个数组
  • 设计模式概述:为什么、是什么与如何应用
  • 【开题答辩全过程】以 纳雍县咚咚屋服装租赁管理系统为例,包含答辩的问题和答案
  • Java全栈开发面试实录:从基础到微服务的实战解析
  • 路由控制(二):路由策略和策略路由
  • CICD实战(1) - 使用Arbess+GitPuk+Docker快速实现项目打包构建、docker部署
  • 订餐后台管理系统-day06菜品分类模块
  • C++算法学习专题:前缀和
  • 动规一些理解
  • 【MySQL】练习12-4:启用GTID并配置循环复制
  • YUV格式详解
  • Unity笔记(九)——画线功能Linerenderer、范围检测、射线检测
  • 算法之链表
  • 电科金仓KingbaseES V9数据库:国产数据库的自主创新与行业实践深度解析
  • C#异步编程
  • 深度学习量化双雄:PTQ 与 QAT 的技术剖析与实战
  • 异步编程以及promise的一些拓展
  • 【lua】二进制数据打包和解析
  • Nginx反向代理及配置
  • 趣味学RUST基础篇(枚举模式匹配)
  • C语言强化训练(1)
  • Sequelize ORM - 从入门到进阶
  • SIEPIC工具和PDK安装
  • FastAPI 核心实战:精通路径参数、查询参数与数据交互
  • 解决FreeBSD无法使用pkg安装任何程序
  • 入站5年,首创3年,习惯养成4个月,从问题求助者到方案提供者转变,我的CSDN之旅