下载 App
开发日志5 · 2026-10-10 ~ 10-12
修改于11 小时前1 浏览综合
### 这几天做了什么
五件事:**给新手一个专属的世界**、**补齐 16 张卡面**、**重构一个 2000 行的文件**、**调了几处手感**、**修了一堆"看不出来但会咬人"的错**。
最后一件依然占了不小篇幅。这次的错有个共同特征:**它们全都不报错。**
---
## 一、给新手一个专属的世界
### 之前的做法
新玩家建一个世界,就在那个世界里教他玩。教完继续玩。
问题有两个:
**第一,教完的那个世界"不干净"。** 教学期间数值是特意调过的、牌是特意发的,玩家继续玩下去,等于在一个人为环境里开局。
**第二,教程只教一次。** 玩家想回头看看"那个功能怎么用来着",没地方看。
### 现在的做法
第一次进入游戏时,系统会**自动建一个"新手教程"世界**。教程在那里播。
这个世界和正常世界有四点不同:
- **发牌是固定的**,不是随机。因为组合技那一步必须同时拿到两张特定的牌,随机发可能十局都凑不齐。
- **初始数值是调过的**,专门为了让教学事件能自然触发。
- **不上排行榜**。它的数值是系统预设的,上榜对别人不公平。
- **走到讲混乱度那一步时,系统会直接把混乱度推到危险区**,让玩家下一回合就能亲眼看到"文明濒危"和随之而来的干预机制——而不是干讲一句"混乱度高会出事"。
**教程走完后**,这个世界会**重置**(下次可以再来看),并弹窗引导玩家去创建属于自己的第一个正式世界。
### 一个反直觉的坑
把"每个新世界都播教程"改成"只有教程世界播"之后,**特殊卡(充能)在正式世界里彻底不出现了**。
因为发牌里有一句「引导期间不掺特殊卡」,而它判断的是"引导是否已完成"。改完机制后,**正式世界永远不会"完成引导"**——所以这个条件恒成立,特殊卡永远被排除。
改成判断"**此刻是否正在引导**"就对了。
**教训**:改一个标记的语义时,要把它**所有**的使用处都翻一遍,看看原来的语义还成不成立。
---
## 二、补齐 16 张卡面
之前有 7 张卡有专属卡面,剩下 9 张还是纯色块。这次补完了。
---
## 三、重构一个 2000 行的文件
主脚本涨到了 2000 多行,构建工具开始警告。这次把**世界管理**那一块拆了出来——切换世界、创建、删除、教程通关、打开面板,一共八个函数,将近 300 行。
拆完主文件回到 1800 多行。
### 拆的方式
新模块不反过来引用主文件,而是**由主文件把需要的函数"注入"进去**——这样两边不会互相依赖,也方便单独测试。项目里之前拆别的模块时用的也是这个套路。
主文件里保留一组同名的转发函数,**调用点一个都不用改**。
### 一个很低级的错
批量给函数名加前缀的时候,我用的是简单的字符串替换。
问题在于:**短名字是长名字的一部分**。
`DeleteWorld` 是 `RequestDeleteWorld` 的一部分。替换之后,后者变成了一个根本不存在的函数名。
**这个错在编译期不报,类型检查也不报**(因为它是合法的函数调用语法),是构建之后去数函数个数才发现的。
**教训**:批量重命名要**从长名字开始替换**,或者用词边界匹配。偷懒用全替换会咬人。
---
## 四、几处手感调整
### 资源消耗
人口对资源的消耗公式调了一下:**低人口段扣得更明显,高人口段增长放缓**。
顺带修了两处**文档和代码对不上**的地方:
- 离线结算里少了一项(注释写着"和在线一致",实际不一致)。
- 说明文档里的公式系数**写错了两天**——之前调数值时只改了代码,忘了同步文档。
**这两处都不是新问题,是之前留下的。** 属于"不看不知道,一看吓一跳"。
### 刷新与命名
- 刷新手牌的次数上限提高了一次,并且**在按钮上显示剩余次数**。
- 创建世界时可以**自己起名字**了。之前是按数量自动编号,删掉一个世界再建,会出现重名。
### 一堆按钮的居中
有十几个面板的按钮"看起来偏左"。
原因是它们被放在一个**纵向拉伸**的容器里,按钮被拉满整行,文字居中之后就显得偏左。加一行"按内容宽度居中"就好。
**只有两个面板没这个问题**——它们的按钮恰好放在横向容器里。这也解释了为什么这个毛病一直没被发现:**大部分时候看着是对的。**
---
## 五、这轮的错误,有个共同点
前面提到的几个错,加上一些没写进来的,**全都不报错**:
- 特殊卡消失——不报错,只是永远不发那张牌。
- 函数名被替换坏——不报错,语法完全合法。
- 公式和文档不一致——不报错,跑起来数值正常。
- 按钮偏左——不报错,只是难看。
- 主题色没生效——不报错,静默退回默认色。
**这类问题只能靠"实机看"或者"主动去核对"发现**,编译器和类型检查都帮不上忙。
这两天养成的一个习惯:**改完之后,不只看"能不能跑",还要去产物里核对"改动到底进没进去"。**
---
## 小结
这两天没有加什么大玩法,主要是**把已有的东西做扎实**:
- 新手不再是"在正式环境里被教一遍",而是有一个干净的练习场,随时能回来看。
- 16 张卡面齐了。
- 主文件瘦身,后续好改。
- 一批静默的错被清掉了。
定档10月14号正式上线










