一个投骰子赌大小的游戏
一个投骰子赌大小的游戏
机器人和用户的起始资金都是 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 0 elif dice < 7: if wager == \'s\': print(f\'The dice is {dice};\\nYou WIN!\\n\') return 1 else: print(f\'The dice is {dice};\\nYou LOST!\\n\') return -1 elif dice > 7: if wager == \'s\': print(f\'The dice is {dice};\\nYou LOST!\\n\') return -1 else: 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 + result coin_bot -= result rounds_of_game += 1 if coin_user == 0: print(\"Woops, you\'ve LOST ALL, and game over!\") break elif coin_bot == 0: print(\"Woops, the robot\'s LOST ALL, and game over!\") break print(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最后分出胜负输出结果(玩家主动退出也可结束游戏)