
从零跑通Cataclysm-DDA建筑建造系统配方、状态机与第一面砖墙【免费下载链接】Cataclysm-DDACataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.项目地址: https://gitcode.com/GitHub_Trending/ca/Cataclysm-DDACataclysm-DDA 的建造系统让你用手头材料一格一格搭起砖墙和混凝土地板。本文带你走完整的最小流程编译游戏、按 B 打开建造菜单、造出第一面砖墙。读完后你能自己读懂仓库里任意一份建造配方。快速认知建造不是合成是状态转换。地图上每个格子有一个地形状态一条配方就是一段从状态A到状态B的转换。砖墙的生命周期是t_dirt泥土→t_brick_wall_halfway半墙→t_brick_wall完整。配方全部是JSON数据放在 data/json/construction/ 下按门类拆成30多个文件walls、doors、floors_outdoors……改建造玩法不用碰C。菜单是两层过滤先检查格子的当前状态和标志再检查你的技能与工具。任一层不过配方直接不显示。什么时候用它想拦住怪物墙、想走出坑地板、想有门可进门窗。从零跑通造出你的第一面砖墙第一步拿到可执行的客户端克隆仓库并编译git clone https://gitcode.com/GitHub_Trending/ca/Cataclysm-DDA然后make -j$(nproc)Windows用户看doc/c/COMPILING-MSYS.md。预期结果仓库根目录出现cataclysm可执行文件。检查点make 报缺依赖就直接用发行版自带的二进制包先跑通流程再折腾编译。第二步新建游戏找一片泥地运行./cataclysm主菜单选 New Game配置保持默认。出生点后走到一块平坦、地面是泥土dirt的开阔地。检查点砖墙的pre_terrain只认t_dirt你脚下若是柏油路或地砖这面墙永远建不出来。第三步按 B 打开建造菜单站在地面上按B左侧类别选Constructions建造类。预期结果出现可选配方列表砖墙、铁栏杆都在其中。检查点列表是空的90% 是 fabrication制造技能没到 3 级按U看人物状态页确认不是技能问题就是格子状态不对。第四步选中格子完成两段式建造选中一块泥地确认。游戏开始计时并消耗材料一格分两步15 块砖 1 袋建筑砂浆 1 份水每步 120 分钟。预期结果格子先变半墙再变完整砖墙。检查点提示缺材料就按i查库存精确数字以 data/json/construction/walls.json 里constr_brick_wall_halfway和constr_brick_wall两条记录为准。核心机制拆解pre_terrain把格子当状态机配方最核心的字段。它声明当前格子必须处于什么状态src/construction.cpp 里的has_pre_terrain负责逐格比对。砖墙因此拆成两条配方、同一个 group串成一条状态链t_dirt → t_brick_wall_halfway → t_brick_wallcomponentsAND-OR 材料组外层数组是且内层数组是或。铁栏杆要求 6 根pipe且 2 张sheet_metal而[[water,1],[water_clean,1]]表示两种水任选其一。带LIST标记的如木地板的钉子表示从物品列表里凑数。技能、工具品质、工具三道关卡required_skills查你的等级砖墙要 fabrication 3qualities查工具品质HAMMER/SMOOTH/SAW_M 等对应锤子、锉刀、金属锯这类属性tools查特定物品混凝土作业必须带搅拌工具concrete_mix_tool。三层全过配方才会出现在你的菜单里。pre_special状态说清不了的特殊检查有些格子光看地形不够。金属天桥constr_metal_gangway带pre_special: check_support_belowpre_note写明至少两侧要有支撑户外木地板constr_floor_noroof要求check_empty格子为空。pre_flags则匹配地形标志位如 DIGGABLE。场景实战场景一给营地围一圈墙目标拦住一段泥地防止怪物夜间突入。做法按 B逐格两段式砌砖墙图快可以先用 data/json/construction/fences_gates.json 里的木栅栏挡一阵。效果t_brick_wall是实心墙你和怪物都过不去营地内部从此安全。场景二把坑填成混凝土平台目标一个t_pit_shallow的坑变成能走的地面。做法先合成搅拌工具concrete_mix_tool再用 B 菜单选混凝土地板配方每格 2 袋混凝土 2 份水。效果坑变成t_concrete不再绊脚上面可以继续盖地板、家具。场景三拆墙开门洞目标房子有了现在需要出入口。做法B 菜单切到Deconstructions类别拆掉一段墙想要正经门就查 data/json/construction/doors.json 的门槛要求。效果你走完建→拆→重建的完整闭环盖房子的全部操作面就是这三件事。避坑指南现象原因解决办法按 B 列表是空的技能或格子状态不满足配方被隐藏按U确认 fabrication ≥ 3站到目标地面格上砖墙脚下必须是泥地t_dirt配方显示但建不动缺工具或工具品质不符查配方tools/qualities字段混凝土要拿concrete_mix_tool铁栏杆要焊接工具或 toolset天桥gangway建不出来check_support_below未通过让天桥两端都有地形支撑配方pre_note要求至少两侧支撑想拆墙却找不到入口拆除不在 Constructions 类别里切到 Deconstructions 类别数据在 data/json/deconstruction.json一步 120 分钟嫌太慢这是time字段写死的正常值120 分钟2 游戏小时别怪机制先建小墙验证流程再上工程量收束建造系统的本质就是JSON 数据 格子状态机 三道门槛记住这三点仓库里任何配方文件你都能直接读懂。下一步动作打开 data/json/construction_category.json 看全部 15 个建造类别挑 WINDOWS 类别给你的砖墙房子开一扇窗——那是庇护所的下一块拼图。【免费下载链接】Cataclysm-DDACataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.项目地址: https://gitcode.com/GitHub_Trending/ca/Cataclysm-DDA创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考