“在黑暗中摸索前行,理智是你唯一的筹码。”
sHaDow 是一款基于 Python 开发的文本类心理恐怖 RPG 游戏。游戏结合了终端控制台(Terminal)的字符渲染与轻量级的 Tkinter 图形界面,玩家将在随机生成的迷宫中探索,收集碎片化的线索,管理自己的理智(Sanity),并在黑夜与白昼的交替中寻找最终的真相。
在 sHaDow 中,你将深入多层地下迷宫(Floor 0 - 7)。每一步的移动都会消耗时间,随着“深夜”的降临,未知的恐惧将侵蚀你的理智。你需要收集各式各样的奇特道具,这些道具会动态改变你的生命值、视野、战斗力和理智上限。你的最终结局,取决于你口袋中留存的物品与你的选择。
-
动态迷宫生成:每一层的地图结构由算法随机生成,保证每次游玩的探索体验。
-
多维属性系统:不仅有常规的生命(HP)与力量(Power),还引入了 San(理智值)、Chaos(混乱) 和 Sight(视野) 系统。当 San 值归零时,你将被恐惧吞噬。
-
丰富的道具与剧情:几十种独特的道具,每种不仅提供属性加成/减益,还承载着碎片化的背景故事。
-
昼夜交替系统:游戏内包含真实的时间流逝计算,步数与时间将直接影响“午后”、“傍晚”与“深夜”的事件触发。
-
多结局设定:根据关键剧情道具(如“布满刮痕的公交车卡”或“沾染泥土的书签”),解锁普通通关或隐藏的 A/B 结局。
-
Python 版本:Python 3.x 及以上
-
系统环境:Windows / Linux (需要支持最小
80x40字符大小的终端窗口) -
依赖库:本项目仅使用了 Python 标准库(
os,random,time,json,sys,tkinter),无需额外pip install。
-
克隆此仓库到本地:
Bash
git clone https://github.com/plain1740/sHaDow.git -
进入项目目录:
Bash
cd sHaDow -
运行游戏主程序:
Bash
python main.py(注:运行前请确保将终端窗口放大或全屏,以满足
80x40的分辨率要求,否则游戏会提示按回车检验。)
游戏采用 键盘监听(Tkinter Canvas) + 终端输出 的混合模式。
| 按键 / 指令 | 对应操作 |
|---|---|
| W | 向上移动 |
| S | 向下移动 |
| A | 向左移动 |
| D | 向右移动 |
| Q | 驻留 / 跳过当前回合 |
UI 面板操作:
游戏启动后会弹出一个 250x200 像素的悬浮控制台,你可以点击按钮来执行高级指令:
-
bag:查看背包与道具状态
-
self:查看个人属性面板
-
diary:查阅收集到的日记与线索
-
back:返回主视图
如果你希望参与贡献或进行二次开发,请参考以下模块说明:
| 文件/目录 | 功能描述 |
|---|---|
main.py |
游戏主程序,包含存档管理(Save 类)、UI 绑定与游戏主循环。 |
DO_MOD.py |
地图与移动模块,负责迷宫的深度优先生成(DFS)算法及坐标判定。 |
AW_MOD.py |
实体与战斗模块,包含实体(Object)类定义及遇敌计算逻辑。 |
SH_MOD.py |
剧情与物品模块,管理道具字典、日记文本输出、属性运算逻辑。 |
txt/ |
文本资源文件夹,存放所有剧情日志、谜底文本和操作提示。 |
本项目采用 MIT License 开源。欢迎任何人自由游玩、修改或分享,但在分发修改版时请保留原作者信息。