一个 C++ 控制台地牢探险游戏

DimStar

代码主要是 DeepSeek 写的,DimStar 负责 idea 和数值调整,但我不为平衡性烂负责。()

文档是 DeepSeek 写的。

地牢探险(Dungeon Explorer)游戏文档

游戏简介

《地牢探险》是一款控制台 Roguelike 游戏。玩家扮演冒险者,深入随机生成的地牢,面对普通怪物、精英和 BOSS,收集金币与强化道具,通过升级、商店和图书馆提升实力,学习各种被动与主动技能。目标是不断深入地下,挑战更高楼层。

操作指南

  • 移动W A S D
  • 远程攻击F(朝最后一次移动方向射击,或自动锁定最近敌人)
  • 使用技能:数字键 15(对应主动技能槽位,最多同时拥有 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

  • 固定出现在出生房间,可循环购买。
  • 商品列表:
    1. 大药水(恢复 50% 最大生命)—— 15 金
    2. 攻击强化(+3 攻击)—— 25 金
    3. 防御强化(+2 防御)—— 25 金
    4. 近战倍率强化(+30% 近战伤害)—— 初始 40 金,每次购买价格 +30
    5. 远程倍率强化(+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:添加了“图书馆”和两个主动技能,并加入了一些游玩优化。

源码

1.0.4

1.0.5

1.0.5.1

1.0.5.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 进行许可。