游戏规则实验册:节奏长按区间的缺口与覆盖长度——22拍长按的七段输入(实例01)
长按音符并不是只在开头按一下就完成。把要求保持的时间段与实际按住的时间段叠加,可以看到漏掉的区间,而不仅是一个总分。重叠输入也不能被重复计时。
这份练习把数据、规则和中间状态一起列出。可以先自行推演,再与过程记录逐项比较;如果结果不同,先找到第一处分歧,确认时间单位、端点归属和运算顺序。案例是一套限定模型,不把其他作品的不同实现认定为错误。
规则与输入
这里不模拟任何商业作品评分,只计算目标左闭右开区间内,被至少一个按住区间覆盖的整数时间单位。目标外的按住时间不计,重叠部分只计一次,不设置宽容窗口。
目标长按[12,34),长度22 [[16, 24], [19, 26], [19, 25], [25, 30], [30, 38], [14, 21], [32, 37]]
逐项推演
输入0按住[16,24),落在目标内的单位起点[16, 17, 18, 19, 20, 21, 22, 23];此前未覆盖的新单位[16, 17, 18, 19, 20, 21, 22, 23],累计覆盖8。
输入1按住[19,26),落在目标内的单位起点[19, 20, 21, 22, 23, 24, 25];此前未覆盖的新单位[24, 25],累计覆盖10。
输入2按住[19,25),落在目标内的单位起点[19, 20, 21, 22, 23, 24];此前未覆盖的新单位[],累计覆盖10。
输入3按住[25,30),落在目标内的单位起点[25, 26, 27, 28, 29];此前未覆盖的新单位[26, 27, 28, 29],累计覆盖14。
输入4按住[30,38),落在目标内的单位起点[30, 31, 32, 33];此前未覆盖的新单位[30, 31, 32, 33],累计覆盖18。
输入5按住[14,21),落在目标内的单位起点[14, 15, 16, 17, 18, 19, 20];此前未覆盖的新单位[14, 15],累计覆盖20。
输入6按住[32,37),落在目标内的单位起点[32, 33];此前未覆盖的新单位[],累计覆盖20。
覆盖20拍,缺失2拍,连续缺口[[12, 14]];两者之和为22。
复核与使用边界
把目标逐单位展开,标记每个单位是否被覆盖,再合并连续缺口。覆盖长度加缺口长度必须等于目标长度,多个输入的长度总和不能直接替代并集长度。
覆盖总长度一样的两次输入,缺口位置和数量可能完全不同。若规则对中途松开有单独惩罚,不能仅用总覆盖长度判断得分;本例把缺口列出,是为了让后续评分规则有清楚的输入。
复盘时建议保留输入表和中间状态,而不仅保存最终答案。改动一个条件后重新推演,再检查起点、终点、重复值和临界输入;这样能把规则本身、计算实现和显示结果分别核对,避免把一次偶然相同当成验证完成。
