当前位置:   article > 正文

习题35 一个if elif else 和函数的综合小游戏_学习if else 示例游戏

学习if else 示例游戏
  1. # 从sys库中导入exit函数
  2. from sys import exit
  3. # 定义gold_room()函数
  4. def gold_room():
  5. print("这个房间里全是金子你要拿走多少?")
  6. # 定义局部变量choice
  7. choice = input(">")
  8. # 创建if块,若choice中含有0 / 1,运行下一行代码
  9. if "0" in choice or "1" in choice:
  10. # 定义局部变量how_much
  11. how_much = int(choice)
  12. # 若choice中无0 / 1,运行如下代码
  13. else:
  14. dead("老兄学着写入数字吧!.")
  15. # 创建if块,若how_much > 50,运行下一行代码
  16. if how_much < 50:
  17. print("很好,你不贪心,你赢了啊!")
  18. exit(0)
  19. # how_much <= 50,则运行以下代码
  20. else:
  21. dead("你这个贪婪的人!")
  22. # 定义bear_room()函数
  23. def bear_room():
  24. # 打印字符串
  25. print("这里有一只熊.")
  26. print("熊有一串蜂蜜.")
  27. print("胖熊在另一扇门前.")
  28. print("你打算怎么赶走这只熊呢?")
  29. # 定义局部变量bear_moved为布尔表达式
  30. bear_moved = False
  31. # 创建while循环
  32. while True:
  33. # 创建局部变量choice
  34. choice = input(">")
  35. # 创建if块,若choice为take honey,则运行语句
  36. if choice == "拿走蜂蜜":
  37. dead("熊看着你,抓了你的脸.")
  38. # 若choice为“taunt bear”且bear_moved为假,运行语句
  39. elif choice == "嘲笑熊" and not bear_moved:
  40. print("熊已经走了.")
  41. print("你现在可以看到.")
  42. bear_moved = True
  43. # 若choice为“taunt bear”且bear_moved为真,运行语句
  44. elif choice == "taunt bear" and bear_moved:
  45. # 读取dead()函数
  46. dead("熊生气了,咬了你的腿.")
  47. # 若choice为“open door”且bear_moved为真,运行语句
  48. elif choice == "open door" and bear_moved:
  49. gold_room()
  50. # 其他情况运行以下代码
  51. else:
  52. print("我不知是什么意思.")
  53. # 定义cthulhu_room()函数
  54. def cthulhu_room():
  55. print("你看到的邪恶.")
  56. print("它盯着你,你就要疯掉了.")
  57. print("你是被吃了头还是逃跑了?")
  58. choice = input(">")
  59. # 若choice中有“flee”,运行语句
  60. if "flee" in choice:
  61. start()
  62. # choice中有“head”,运行语句
  63. elif "head" in choice:
  64. dead("太好吃了!")
  65. # 其余情况,运行语句
  66. else:
  67. cthulhu_room()
  68. # 定义dead(why)函数
  69. def dead(why):
  70. print(why, "干的漂亮!")
  71. # 退出程序
  72. exit(0)
  73. # 定义start()函数
  74. def start():
  75. print("你在一个黑暗的房子里.")
  76. print("这个门你向右和左边走呢?.")
  77. print("你选择那边?")
  78. choice = input(">")
  79. # 若choice为“left”,运行语句
  80. if choice == "left":
  81. bear_room()
  82. # 若choice为“right”,运行语句
  83. elif choice == "right":
  84. cthulhu_room()
  85. # 若为其他情况,运行语句
  86. else:
  87. dead("你在房间里四处乱跑,直到饿死了.")
  88. # 运行start()函数
  89. start()

  1. D:\软件\py36\python.exe E:\python\day15\31\xiti35.py
  2. 你在一个黑暗的房子里.
  3. 这个门你向右和左边走呢?.
  4. 你选择那边?
  5. >left
  6. 这里有一只熊.
  7. 熊有一串蜂蜜.
  8. 胖熊在另一扇门前.
  9. 你打算怎么赶走这只熊呢?
  10. >open door
  11. 我不知是什么意思.
  12. >嘲笑熊
  13. 熊已经走了.
  14. 你现在可以看到.
  15. >open door
  16. 这个房间里全是金子你要拿走多少?
  17. >80
  18. 你这个贪婪的人! 干的漂亮!
  19. 进程已结束,退出代码0

 

巩固练习
把这个游戏的地图画出来,把自己的路线也画出来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pR4lsFoD-1592122475333)(D:\google下载\You are in a dark room…png)]

改正你的所有错误,包括拼写错误

为你不懂的函数写注释

为游戏添加更多元素。通过怎样的方式可以简化并且扩展游戏的功能?

这个gold_room游戏使用了奇怪的方式让你键入一个数。这种方式会导致什么样的bug?你能让它比我写的程序更好吗?int()这个函数可以给你一些头绪。

不含0/1的数字被误认,导致游戏死亡结束
判断choice的值是否为整数
一个整数除以自身 = 1
一个整数减去自身 = 0
if int(choice)/int(choice) == 1
1
exit()函数
在很多类型的操作系统里,exit() 可以中断某个程序,而其中的数字参数则用来表示程序是否是碰到错误而中断。
exit(0) 则表示程序是正常退出的,退出代码是告诉解释器的(或操作系统)
exit(1) 表示发生了错误进行退出
可以用不一样的数字表示不同的错误结果。比如你可以用exit(100) 来表示另一种和 exit(2)或 exit(1) 不同的错误

原文链接:https://blog.csdn.net/weixin_45938096/article/details/106747513

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/54779
推荐阅读
相关标签
  

闽ICP备14008679号