Python基础( 七、休闲大富翁游戏)

当你掌握这些知识点就可以写出类似大富翁的游戏了,还不行动起来~

Python基础(缩进:让代码更美观、更清晰)

Python基础(一、安装环境及入门)

Python基础(二、必备知识,不用背,用用就会了~)

Python基础(三、探索布尔型、if-else语句、while循环和continue语句)

Python基础(四、探索迷宫游戏)

Python基础(五、掌握for循环、range、break和continue用法,猜数游戏)

Python基础(六、掌握if、while用法)

游戏规则和内容如下:

  1. 游戏的目标是从起点走到终点,走过程中会有一些奖惩以及特殊事件。

  2. 每次玩家可以掷一次骰子,骰子点数决定了玩家前进的步数。

  3. 每走到一个格子上,会根据该格子是否设有奖惩来进行相应的处理。

  4. 当玩家走到终点时,游戏结束,玩家获得胜利。

  5. 游戏中有一些特殊事件,例如听音乐、摸鱼、弹窗等,这些都会给玩家带来不同的体验。

  6. 在游戏结束后,玩家可以选择是否再次开始游戏。

import random
import time

# 奖惩类别
REWARDS = {
    3: ("听音乐一首,小呀么小二郎~背着书包上学堂~", 0),
    6: ("前进3步", 3),
    9: ("摸鱼10分钟", 0),
    12: ("原地吃一分钟水果,奖励前进1步", 1),
    18: ("笑话:有一天,一只松鼠爬到了树上的电线杆上,结果它发现自己被电晕了。突然,一只小鸟飞过来,看到了这只昏迷的松鼠。小鸟问:“你怎么啦?”松鼠说:“我被电晕了!”小鸟说:“别担心,我去找医生。”于是小鸟飞走了,不久后又飞回来了,身上还背着一只瓶子。小鸟把药给松鼠喝下去后,松鼠立马清醒了。小鸟问:“你觉得好多了吧?”松鼠开心地说:“是啊,谢谢你!这是什么药啊?”小鸟笑着说:“这是我刚刚从草丛里找到的‘电解质’!”松鼠:“......”", 0)
}

# 棋盘步骤
STEPS = [
    "起点", "迈出第1步", "迈出第2步", "奖励",
    "迈出第4步", "迈出第5步", "学会跑了", "迈出第7步",
    "迈出第8步", "奖励", "迈出第10步", "迈出第11步",
    "休息放松下", "迈出第13步", "迈出第14步", "迈出第15步",
    "迈出第16步", "迈出第17步", "连环出击", "迈出第19步", "终点"
]

def rollDice():
    nums = 1
    for i in range(6):
        nums = random.randint(1, 6)
        print(f"\r{nums}", end="", flush=True)
        time.sleep(0.2)
    return nums

def gameStart():
    print("欢迎来到休闲大富翁游戏")
    inStr = input("下面请输入'是'或者'1',将立刻带你开启游戏之旅~")
    while inStr != "是" and inStr != "1":
        print("输入有误喔~,再来一次吧")
        inStr = input("输入有误,请输入'是'或者'1'~(●ˇ∀ˇ●)")
    startName = input("给自己起个昵称吧~")
    print(f"{startName}, 您好!您已进入{STEPS[0]},开始掷骰子咯~")

    # 总点数
    totalNums = 0

    while totalNums < 20:
        nums = rollDice()
        totalNums += nums

        if totalNums >= 20:
            print(f"\r恭喜{startName}! 到达终点,获得胜利!")
            break
        else:
            temp = f"\r您的骰子点数为{nums}, {STEPS[totalNums]}"
            if totalNums in REWARDS:
                reward, steps = REWARDS[totalNums]
                temp += f", 获得【{reward}】"
                totalNums += steps
            print(temp)

    playAgain = input("是否再玩一次?(是/否)")
    if playAgain == "是":
        gameStart()

if __name__ == "__main__":
    gameStart()

  • 15
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年小趴菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值