一个投骰子赌大小的游戏

发布于:2025-09-01 ⋅ 阅读:(14) ⋅ 点赞:(0)

一个投骰子赌大小的游戏

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

from random import randrange

coin_user, coin_bot = 10, 10 # 可以用一个赋值符号分别为多个变量赋值
rounds_of_game = 0

def 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 1

while 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
最后分出胜负输出结果(玩家主动退出也可结束游戏)

网站公告

今日签到

点亮在社区的每一天
去签到