一个 C++ 控制台地牢探险游戏
代码主要是 DeepSeek 写的,DimStar 负责 idea 和数值调整,但我不为平衡性烂负责。()
文档是 DeepSeek 写的。
地牢探险(Dungeon Explorer)游戏文档
游戏简介
《地牢探险》是一款控制台 Roguelike 游戏。玩家扮演冒险者,深入随机生成的地牢,面对普通怪物、精英和 BOSS,收集金币与强化道具,通过升级、商店和图书馆提升实力,学习各种被动与主动技能。目标是不断深入地下,挑战更高楼层。
操作指南
- 移动:
WASD - 远程攻击:
F(朝最后一次移动方向射击,或自动锁定最近敌人) - 使用技能:数字键
1~5(对应主动技能槽位,最多同时拥有 5 个主动技能) - 退出游戏:
Q(可在战斗中随时退出) - 楼梯交互:站在楼梯
>上时,按Y进入下一层,按N留在本层;Boss 层还可按Q胜利离开。
地图与生成
- 地图大小为 80×30,由随机房间与走廊连接而成。
- 地面有 尖刺陷阱
^,踩中会受到当前最大生命百分比的伤害(随楼层加深,最多 30%),该伤害无视防御和护盾。 - 可拾取物品包括 药水
+(恢复最大生命的 10% + 15 点)、攻击强化A、防御强化D、金币$。同类物品会在同一格堆叠,拾取时一次性获得全部数量。 - 出生房间(玩家起始房间)不会刷新怪物或陷阱,且商店必定出现在出生房间内。
- 图书馆
L:每层有 30% 概率生成,可消耗金币直接提升等级(初始 30 金币/级,同层内每次购买后价格 ×1.5,可重复购买)。 - Boss 层(每 10 层)只有 Boss 一个敌人,初始无楼梯,击败 Boss 后楼梯出现。
战斗系统
近战攻击
- 向敌人所在格子移动即可发动近战攻击。
- 伤害 =
(攻击力 + 临时攻击加成) × (1 + 近战倍率),再经敌人防御减伤计算。 - 拥有吸血被动时,按造成伤害的一定比例恢复生命。
远程攻击(F 键)
- 消耗少量生命值发射弹矢。基础伤害 =
攻击力 × (0.8 + 远程倍率),再经减伤。 - 拥有自动锁定时,自动瞄准视野内最近的敌人(距离随等级提升)。
- 拥有穿透射击时,远程攻击可穿透墙壁和敌人,每级增加 1 次穿透。
- 拥有远程专精时,远程攻击的生命消耗大幅降低,满级可完全免除消耗。
防御与减伤
- 玩家受击:有效防御 = 面板防御 + 临时防御加成 + 隐藏护甲(8)。减伤公式:
伤害 × (1 - 有效防御 / (有效防御 + 30))。 - 敌人受击:减伤公式:
伤害 × (1 - 敌人防御 / (敌人防御 + 80))。伤害不会低于攻击力的 15%(保底伤害)。 - 破甲机制:连续攻击同一敌人会降低其防御(每命中一次降 15%,最多降 60%)。停止攻击一回合后防御恢复原值。
特殊状态
- 护盾:吸收伤害,优先于生命扣除,持续回合结束或耗尽。
- 临时攻防加成:由技能提供,各自独立计时。
- 冻结:所有敌人跳过行动若干回合。
角色成长
等级与经验
- 击杀敌人获得经验,达到需求后自动升级。
- 每级:生命上限 +6,攻击力 +3,防御 +1,最大 MP +3,HP 回满。
- 经验需求随等级递增,每 50 级翻倍。
商店(S)
- 固定出现在出生房间,可循环购买。
- 商品列表:
- 大药水(恢复 50% 最大生命)—— 15 金
- 攻击强化(+3 攻击)—— 25 金
- 防御强化(+2 防御)—— 25 金
- 近战倍率强化(+30% 近战伤害)—— 初始 40 金,每次购买价格 +30
- 远程倍率强化(+20% 远程伤害)—— 初始 40 金,每次购买价格 +30
图书馆(L)
- 可消耗金币立即提升 1 级。第一次 30 金,同层每次购买价格 ×1.5(向下取整)。可重复购买直到离开或金币不足。
技能系统
- 离开 Boss 层时,从随机三个可选技能中选择一个学习或升级。
- 技能最高 3 级。最多拥有 5 个主动技能 和 5 个被动技能。
- 主动技能按数字键使用,消耗 MP 并有冷却;被动技能永久生效。
被动技能
| 技能 | 效果 | Lv1 | Lv2 | Lv3 |
|---|---|---|---|---|
| 自动锁定 | 远程自动瞄准,瞄准距离增加 | 12格 | 18格 | 24格 |
| 穿透射击 | 远程可穿透墙壁/敌人(次数) | 1 | 2 | 3 |
| 经验加成 | 获得经验增加 | +20% | +40% | +60% |
| 金币加成 | 获得金币增加 | +20% | +40% | +60% |
| 魔力再生 | 每回合额外回复 MP | +1 | +2 | +3 |
| 吸血 | 近战伤害吸血比例 | 10% | 15% | 20% |
| 远程专精 | 远程攻击生命消耗降低 | 50% | 75% | 100% |
主动技能
| 技能 | 效果(Lv1 / Lv2 / Lv3) | 冷却 | MP |
|---|---|---|---|
| 冲刺 | 向方向前进 4/5/6 格 | 3 | 15 |
| 烈焰风暴 | 对曼哈顿距离≤7的敌人造成 3.0/5.0/7.0 倍攻击力伤害 | 4 | 40 |
| 治疗术 | 回复 20%/30%/40% 最大生命 | 15 | 100 |
| 护盾 | 获得 40%/55%/70% 最大生命的护盾,持续6回合 | 11 | 70 |
| 狂暴 | 攻击力临时提高 30%/40%/50%,持续6回合 | 8 | 50 |
| 铁壁 | 防御力临时提高 30%/40%/50%,持续6回合 | 8 | 50 |
| 冻结 | 冻结所有敌人 4/5/6 回合 | 11 | 80 |
| 闪现 | 向方向瞬移 9/12/15 格,可穿墙 | 8 | 40 |
| 导弹打击 | 随机重击附近敌人,伤害不低于最大生命的30%/40%/50%,倍率6/9/12 | 6 | 60 |
| 熔岩吐息 | 前方锥形喷火(深3层),伤害 2.0/3.0/4.0 倍攻击力,并永久降低敌人防御 10%/20%/30% | 6 | 50 |
怪物类型
普通敌人
- 生命:
(6 + 随机0~1 + 楼层×6) × 1.5 - 攻击:
(2 + 随机0~1 + 楼层×3) × 1.5 - 防御:
(1 + 随机0~1 + 楼层×1.5) × 1.5 - 弓箭手(
r):生命 ×0.8,攻击 ×1.2。
精英敌人
- 生命:普通生命 ×
(2.0 + 楼层×0.25) - 攻击:普通攻击 ×
(1.3 + 楼层×0.05)+ 楼层×2 - 防御:普通防御 ×
(1.1 + 楼层×0.02)+ 楼层×0.2
Boss(每10层出现)
- 生命:
(12 + 随机0~2 + 楼层×11) × (3.5 + 楼层×0.3) - 攻击:
(6 + 随机0~1 + 楼层×5) × (2.2 + 楼层×0.07) - 防御:
(4 + 随机0~1 + 楼层×3) × (1.4 + 楼层×0.04)
所有敌人均受破甲影响。
存档与记录
- 自动存档:进入下一层或从 Boss 层胜利离开时自动保存。
- 死亡删档:角色死亡后存档删除。
- 永久记录:每局结束更新最深楼层、最高等级、各怪物最高击杀数,可在主菜单查看。
- 当前存档详情:主菜单可查看角色属性、技能、金币等。
界面提示
- 状态栏:楼层、HP/MP、攻击、防御、等级、经验、金币、敌人数量、近战/远程倍率。
- 技能栏:显示数字键对应的主动技能及冷却。
- 临时状态:护盾值、攻/防加成、冻结回合。
- 消息区:战斗反馈与技能提示。
实用技巧
- 善用远程攻击和技能风筝精英与 Boss。
- 自动锁定和穿透射击互斥,只能择一;两者都能大幅提升远程效率。
- 商店的倍率强化价格不断增长,前几次购买最划算。
- 图书馆在金币充裕时能快速提升等级,同层内价格递增,请合理规划。
- 熔岩吐息的永久降防与破甲叠加,对抗高防精英极有效。
- 尖刺陷阱伤害无视护盾,后期请小心走位。
- 出生房间永远安全,可放心休整。
更新日志
1.0.4:无。
1.0.5:添加了两个被动和一个主动技能。
1.0.5.1:调整了大部分主动技能的数值。
1.0.6.1:添加了“图书馆”和两个主动技能,并加入了一些游玩优化。
源码
- 标题: 一个 C++ 控制台地牢探险游戏
- 作者: DimStar
- 创建于 : 2026-07-14 20:19:34
- 更新于 : 2026-07-20 19:04:06
- 链接: https://dimstar-zhang.github.io/2026/07/14/一个控制台地牢探险游戏/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。