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

一个投骰子赌大小的游戏

一个投骰子赌大小的游戏

机器人和用户的起始资金都是 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.dtcms.com/a/359884.html

相关文章:

  • 内核等待队列以及用户态的类似机制
  • Chrome DevTools Performance 是优化前端性能的瑞士军刀
  • CD73.【C++ Dev】map和set练习题1(有效的括号、复杂链表的复制)
  • 嵌入式C学习笔记之编码规范
  • Nginx实现P2P视频通话
  • 现代C++特性 并发编程:线程管理库 <thread>(C++11)
  • 狂神说--Nginx--通俗易懂
  • 【秋招笔试】2025.08.31饿了么秋招笔试题
  • Linux基本工具(yum、vim、gcc、Makefile、git、gdb)
  • 苏宁移动端部分首页制作
  • ing Data JPA 派生方法 数据操作速查表
  • TFS-1996《The Possibilistic C-Means Algorithm: Insights and Recommendations》
  • Kafka面试精讲 Day 3:Producer生产者原理与配置
  • K8s学习笔记(一)——
  • Unity转抖音小游戏重点摘记
  • 通信原理(006)——分贝(dB)超级详细
  • 【数学史冷知识】关于行列式的发展史
  • spring-ai-alibaba-deepresearch 学习(七)——源码学习之PlannerNode
  • (树)Leetcode94二叉树的中序遍历
  • 8.29学习总结
  • YOLO 目标检测:YOLOv2基本框架、多尺度训练、锚框、维度聚类、位置预测、passthrough
  • 【机器学习基础】无监督学习算法的现代演进:从数据探索到智能系统的自主发现能力
  • hardhat 3 测试框架选择
  • 十分钟快速掌握 YML YAML 文件
  • LLM记账智能体-MCP服务-实现步骤与效果展示
  • Qt精华版打包教程,支持windows和Linux,每种平台支持2种方案
  • MCP SDK 示例一
  • Spring MVC 九大组件源码深度剖析(六):HandlerExceptionResolver - 异常处理的艺术
  • 第八章 光照
  • 蓝牙AOA智慧仓储管理系统:实现仓储数字化升级的精准定位解决方案