游戏机制拆解:通关标记与独立星级条件 · 场景20
完成关卡与获得几颗星可以是两套不同判断。先检查是否到达终点,再逐项计算时间、收集和失误条件,能避免把其中一项不合格误读成完全没有通关。
这一篇用一组公开的自定义数据拆开计算过程。可以先遮住结果,依照约定逐项填写自己的记录,再用文末的复核办法检查。案例关注的是规则边界和状态变化,并不替任何具体作品规定玩法。
本次规则与数据
本例未到终点时星数固定为零;已到终点后,三个条件各值一星。时间不超过上限、收集不少于目标、失误不超过限制均包含边界,不设置额外隐藏条件。
先判断终点;到达后把三个独立条件的通过数作为星数,未到达则记零。
时间上限40,收集目标9,失误上限2 [[True, 29, 15, 1], [True, 38, 6, 4], [False, 32, 18, 6], [True, 107, 5, 0], [True, 88, 8, 0], [True, 22, 19, 0], [False, 54, 6, 2], [True, 39, 17, 0], [True, 40, 9, 2], [False, 40, 9, 2]]
按顺序处理
到终点是,用时29、收集15、失误1;三条件依次['达标', '达标', '达标'],实际星数3。
到终点是,用时38、收集6、失误4;三条件依次['达标', '未达标', '未达标'],实际星数1。
到终点否,用时32、收集18、失误6;三条件依次['达标', '达标', '未达标'],实际星数0。
到终点是,用时107、收集5、失误0;三条件依次['未达标', '未达标', '达标'],实际星数1。
到终点是,用时88、收集8、失误0;三条件依次['未达标', '未达标', '达标'],实际星数1。
到终点是,用时22、收集19、失误0;三条件依次['达标', '达标', '达标'],实际星数3。
到终点否,用时54、收集6、失误2;三条件依次['未达标', '未达标', '达标'],实际星数0。
到终点是,用时39、收集17、失误0;三条件依次['达标', '达标', '达标'],实际星数3。
到终点是,用时40、收集9、失误2;三条件依次['达标', '达标', '达标'],实际星数3。
到终点否,用时40、收集9、失误2;三条件依次['达标', '达标', '达标'],实际星数0。
各条记录的星数为[3, 1, 0, 1, 1, 3, 0, 3, 3, 0]。
核对与应用
把三个条件分别记为零或一,再只对已通关记录求和。可以专门做恰好等于阈值的记录,检查小于与不大于是否写反。
当想补一颗星时,可以先找出缺的是哪项条件,再选择练习目标。只重复更快地完成关卡,不一定会改善收集数量或失误次数;独立条件需要分别观察。
若实际观察与这个模型不同,先确认操作顺序、编号起点和边界是否包含,再检查是否漏记了前一步状态。每次只改变一个条件并保留原记录,通常比反复重做整段操作更容易找到差异。明确条件后,才适合把同一种方法应用到新的场景。
