当你掌握这些知识点就可以写出类似大富翁的游戏了,还不行动起来~
Python基础(三、探索布尔型、if-else语句、while循环和continue语句)
Python基础(五、掌握for循环、range、break和continue用法,猜数游戏)
游戏规则和内容如下:
-
游戏的目标是从起点走到终点,走过程中会有一些奖惩以及特殊事件。
-
每次玩家可以掷一次骰子,骰子点数决定了玩家前进的步数。
-
每走到一个格子上,会根据该格子是否设有奖惩来进行相应的处理。
-
当玩家走到终点时,游戏结束,玩家获得胜利。
-
游戏中有一些特殊事件,例如听音乐、摸鱼、弹窗等,这些都会给玩家带来不同的体验。
-
在游戏结束后,玩家可以选择是否再次开始游戏。
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()