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

作者:M.G~ 时间:2021-03-08 13:27:43 

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

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)

结果如下:

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

或者

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

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

总结

来源:https://blog.csdn.net/L_2376131723/article/details/112233823

标签:python,小黑屋,游戏
0
投稿

猜你喜欢

  • python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)

    2021-05-13 17:40:35
  • 关于WARNING:Ignoring invalid distribution -pencv-python....警告信息的处理方法(已解决!)

    2021-01-14 18:14:28
  • Python实现轻松切割MP3文件

    2023-09-23 21:40:32
  • SQL Server 中死锁产生的原因及解决办法

    2008-11-25 11:50:00
  • Asp Response.Expires 属性介绍

    2008-02-19 17:02:00
  • Javascript Closures (1)

    2009-03-18 12:14:00
  • Appium自动化测试实现H5页面元素定位

    2023-06-22 02:25:53
  • MYSQL各字段的长度是多少?

    2009-10-28 18:32:00
  • PHP 引用的概念

    2023-11-14 21:24:28
  • 如何编写一个高效的国税系统通讯录数据库?

    2009-11-07 18:53:00
  • Python入门教程 超详细1小时学会Python

    2023-06-13 23:34:12
  • 使用一条INSERT语句完成多表插入

    2010-03-18 11:08:00
  • PHP利用ChatGPT实现轻松创建用户注册页面

    2023-05-25 09:22:16
  • Access创建一个简单MIS多媒体管理系统

    2008-10-13 12:31:00
  • PHP与Web页面交互操作实例分析

    2023-09-05 14:43:16
  • 如何在Access数据库中立即得到所插入记录的自动编号?

    2010-06-17 12:45:00
  • 微信小程序(微信应用号)开发工具0.9版安装详细教程

    2023-06-12 23:33:37
  • asp经典入门教程 在ASP中使用SQL 语句

    2013-06-01 20:23:21
  • 从"..."看中国的UI设计界的粗糙

    2007-11-21 19:28:00
  • TXT.WORD文档下载另存为,而不是在浏览器中打开

    2007-10-25 11:43:00
  • asp之家 网络编程 m.aspxhome.com