当前位置 博文首页 > Python实现小黑屋游戏的完整实例

    Python实现小黑屋游戏的完整实例

    作者:M.G~ 时间:2021-02-14 15:06

    大一上学期学习的内容之一,小黑屋比较好玩。

    1.导入函数库

    先导入random、time两个函数库的使用来达到随机生成人物、生成人物加载时间的目的。

    import random
    import time
    

    2.创建列表

    创建事件、资源、技能列表(可以自己思考然后加入你所认为需要的列表)。

    event = ["遇到饥寒交迫的人"]#事件列表
    source = ["木材","肉","布"]#资源列表
    skill = ["潜水","爬山","跳跃"]#技能列表
    

    3.创建函数

    初始人物状态

    def init():#初始人物
     person = {"HP":100,"hungry":100,"EQ":50,"skill":"","木材":2,"fire":0}#人的初始状态
    

    在这里后面可以加上time函数库,使生成人物需要加载时间来让游戏更加真实。

     time.sleep(3)#停止运行3秒
     print("人物生成中>>>>>>>>>50%")
     time.sleep(2)#停止运行2秒
     print("人物生成中>>>>>>>>>>>>>>>>>>>80%")
     time.sleep(1)#停止运行1秒
     print("人物生成中>>>>>>>>>>>>>>>>>>>>>>>>>>>100%")
     showperson(person)
     return person
    

    火堆燃烧状态

    def fire(person):
     person["木材"] = person["木材"] - 1
     person["hungry"] = person["hungry"] - 20
     person["fire"] = 1
     print("火堆燃起来了!")
     return person
    

    遇到事件的可能性和状态(因为前面事件列表只写了一个,所以我这里的事件就只是遇到饥寒交迫的人,你们可以自行修改)。

    def Playgame(person):
     #point = random.randint(0,1)
     point = 0
     if point == 0:
      print("你遇到了饥寒交迫的人!")
      choose = input("是否要给他木材:")
      print("你的火堆熊熊燃烧中...")
      if choose == "是":
       person["木材"] = person["木材"] - 1
       person["EQ"] = person["EQ"] + 10
       if 80 < random.randint(0,100):
        skill = random.choice("skill")
        skill.remove(skill)
        person["skill"] = person["skill"] + skill
        person["HP"] = person["HP"] + 100
      else:
       person["HP"] = person["HP"] - 10
       print("和他挑战你输了")
      return person
    

    人物现在的状态

    def showperson(person):
     print("你现在的状态是:",person)
    

    调用函数

    person = init()
    person = fire(person)
    person = Playgame(person)
    showperson(person)
    

    结果如下:

    或者

    要注意导入函数库,还有只创建需要使用的函数,以便于后面函数的调用。

    总结

    js
    下一篇:没有了