Skip to content

Latest commit

 

History

History
83 lines (66 loc) · 3.31 KB

File metadata and controls

83 lines (66 loc) · 3.31 KB

CUITXKX - 模块化文字江湖引擎 (MUD Engine)

CUITXKX 是一个基于 C 语言开发的简约、模块化 MUD (Multi-User Dungeon) 游戏引擎骨架。它旨在为文字冒险游戏开发者提供一个坚实的基础,强调代码的可读性、扩展性以及现代化的构建流程。

🌟 核心特色

  • 模块化设计:逻辑、数据、解析器完全分离,方便扩展房间与 NPC。
  • 实时属性系统:基于指针偏移的动态攻击/防御计算,而非死板的数值累加。
  • 动态状态看板:内置 ANSI 彩色进度条,实时展示气血 (HP)、内力 (MP) 与精神 (SP)。
  • 全域检视指令:支持全方位的物品检视逻辑,可透视背包及身体穿戴物。
  • CMake 构建:支持标准 CMake 工作流,轻松跨平台。

🛠️ 核心功能

  • look:观察当前环境,高亮显示出口与周边的 NPC。
  • go [方向]:在江湖中穿梭(支持:东、西、南、北、上、下)。
  • talk [ID]:与 NPC 进行互动对话。
  • see self:召唤“江湖档案簿”,查看彩色属性条、装备位及实时战力。
  • get/wear [ID]:物理移动物品,实现从房间到背包、从背包到身体的流转。
  • check [ID]:深入检视背包或身上物品的详细描述与附加属性。
  • help [指令]:内置详细的中文帮助手册。

🚀 快速开始

1. 环境准备

确保你的系统已安装:

  • GCC (或 Clang)
  • CMake (3.10+)
  • Make

2. 获取代码并构建

mkdir build
cd build
cmake ..
make

### 3. 运行游戏

./game

📂 项目结构

.
├── CMakeLists.txt      # 顶层 CMake 配置文件
├── inc/                # 头文件目录 (.h)
│   ├── parser.h        # 指令解析器定义
│   ├── room.h          # 房间与 NPC 数据结构
│   ├── item.h          # 物品与装备定义
│   ├── player.h        # 玩家属性与计算逻辑
│   └── util.h          # 工具宏(如颜色控制、进度条)
├── src/                # 源码目录 (.c)
│   ├── main.c          # 游戏主循环入口
│   ├── parser.c        # 指令逻辑与 UI 渲染
│   ├── room.c          # 房间实例定义
│   ├── item.c          # 物品数据初始化
│   └── player.c        # 玩家动态逻辑(属性计算、背包操作)
└── text/               # 数据与文本资源
    ├── room_spawn.h    # 初始场景描述
    ├── weapon_desc.h   # 武器类详细描述
    └── con_desc.h      # 消耗品类详细描述

📜 开发者指南

本项目遵循 Teaching-First 原则。

如何添加一件新装备?

  1. text/weapon_desc.h 中定义描述宏。
  2. item.c 中初始化 item_t 结构体实例,配置其攻击力。
  3. inc/item.h 中使用 extern 导出该实例。
  4. 将该指针放入 room.c 的房间列表中,玩家即可在游戏中捡起并穿戴。

Tip

提示:在 Linux 下运行效果最佳,建议使用支持 ANSI 颜色的终端(如 GNOME Terminal, Alacritty 等)。

Important

指针安全:本项目通过 item_t **slot 进行二级指针操作,确保装备替换时内存状态的一致性,避免物品丢失。