逐字显示的提示可以帮助理解游戏中的计时状态。显示几个字符由累计时间决定,而跳过按钮把状态直接推进到完成;之后不应因为重新计算进度而把已经显示的文字藏回去。
下面使用一组独立练习数据,说明输入、规则、处理顺序和输出之间的关系。建议先遮住结果自己推演,再逐步对照;如果出现差异,应先定位第一处不同,并检查边界条件,不要只把最后的答案改成一样。
规则和数据
本例只用英文字母和空格,每个字符包括空格都计一格。每隔固定整数拍显示一格,处理顺序为先累加本帧时间,再处理跳过。这里不涉及中文组合字符、富文本标签或声音同步。
LIGHT GREEN NORTH BLUE OPEN 每5拍显示一格;空格也计数 [[6, False], [6, False], [1, False], [0, False], [1, True], [1, False], [1, False], [0, False], [1, False], [0, False]]
逐步推演
第1帧增加6拍,累计6拍,跳过=False;显示1/27格,完成=False,可见文本「L」。
第2帧增加6拍,累计12拍,跳过=False;显示2/27格,完成=False,可见文本「LI」。
第3帧增加1拍,累计13拍,跳过=False;显示2/27格,完成=False,可见文本「LI」。
第4帧增加0拍,累计13拍,跳过=False;显示2/27格,完成=False,可见文本「LI」。
第5帧增加1拍,累计14拍,跳过=True;显示27/27格,完成=True,可见文本「LIGHT GREEN NORTH BLUE OPEN」。
第6帧增加1拍,累计15拍,跳过=False;显示27/27格,完成=True,可见文本「LIGHT GREEN NORTH BLUE OPEN」。
第7帧增加1拍,累计16拍,跳过=False;显示27/27格,完成=True,可见文本「LIGHT GREEN NORTH BLUE OPEN」。
第8帧增加0拍,累计16拍,跳过=False;显示27/27格,完成=True,可见文本「LIGHT GREEN NORTH BLUE OPEN」。
第9帧增加1拍,累计17拍,跳过=False;显示27/27格,完成=True,可见文本「LIGHT GREEN NORTH BLUE OPEN」。
第10帧增加0拍,累计17拍,跳过=False;显示27/27格,完成=True,可见文本「LIGHT GREEN NORTH BLUE OPEN」。
最后显示27格,完整文本共27格。
如何复核与应用
未跳过前,把字符出现时刻逐个列出,就能数出当前已到期的字符。出现过跳过指令后,后续每一帧都必须保持完整文本;完成状态只能持续,不能自行退回进行中。
如果按下跳过后还要再按一次才关闭窗口,应把完成文本和关闭窗口视为两个不同动作。这里的跳过只负责显示完整内容,不把下一层界面的确认操作一并执行。
这是一套明确限定的教学模型,实际作品可能采用其他约定。记录实验时,保留原始输入、每步状态以及规则版本;调整一个条件后重新演算,并检查起点、终点、重复输入和刚好位于边界的情况,才能知道差异来自设计还是计算。
