Python实现文字冒险游戏:小黑屋完整代码与逻辑解析

巷口听风
巷口听风
发布时间:2026-10-15| 5人浏览过
原创

本文详细介绍使用Python实现简易文字冒险游戏“小黑屋”的完整过程。通过导入random和time模块,利用字典存储人物初始状态(HP、饥饿值、技能等),并封装init、fire、Playgame等函数处理游戏逻辑。文章包含完整的代码示例,展示如何生成人物、管理资源及处理随机事件,适合Python初学者学习函数调用与数据结构应用。

这是大一上学期学习的内容之一,其中“小黑屋”游戏的设计相对有趣且易于上手。

1.导入函数库

首先需要导入random和time两个标准库,分别用于实现随机事件生成和控制人物生成的加载时间,从而增强游戏的真实感。


import random
import time

2.创建列表

接下来需要创建三个核心列表:event(事件列表)、source(资源列表)和skill(技能列表)。开发者可以根据游戏需求自由扩展这些列表,添加更多自定义内容。


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

3.创建函数

首先定义人物的初始状态函数。


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

在该函数中,可以加入time库的sleep方法,模拟人物生成所需的加载时间,使游戏过程更加逼真。


 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小黑屋游戏内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。