这份练习围绕装备耐久与不足时的处理展开,给出独立的虚构输入、明确的规则和完整推演记录。它不对应任何品牌或真实产品的默认参数,适合先自己算一遍,再逐行核对。重点是分清输入、可见状态与规则,而不是把最后一组数字当成需要记忆的答案。
使用一件装备前需要判断当前耐久能否承担本次消耗。把“尚有耐久”和“足够完成这次使用”区分开,才能正确处理剩余少量耐久的情况。
本例不允许透支耐久,消耗不够就整次拒绝且不扣除。修理最多恢复到上限,溢出的修理量不会转为下一次使用的额度。
使用需要当前耐久至少等于消耗;不够则拒绝且不扣除。修理增加指定值但最多到上限,零增量也算允许的修理。只有成功使用增加计数。
上限16,初始耐久4 操作0:修理8 操作1:修理8 操作2:使用4 操作3:修理2 操作4:使用6 操作5:使用5 操作6:使用3 操作7:使用2 操作8:使用4 操作9:使用5 操作10:修理10 操作11:使用8
修理8,操作前4,结果有效True,实际变化8,当前耐久12,累计成功使用0次。
修理8,操作前12,结果有效True,实际变化4,当前耐久16,累计成功使用0次。
使用4,操作前16,结果有效True,实际变化-4,当前耐久12,累计成功使用1次。
修理2,操作前12,结果有效True,实际变化2,当前耐久14,累计成功使用1次。
使用6,操作前14,结果有效True,实际变化-6,当前耐久8,累计成功使用2次。
使用5,操作前8,结果有效True,实际变化-5,当前耐久3,累计成功使用3次。
使用3,操作前3,结果有效True,实际变化-3,当前耐久0,累计成功使用4次。
使用2,操作前0,结果有效False,实际变化0,当前耐久0,累计成功使用4次。
使用4,操作前0,结果有效False,实际变化0,当前耐久0,累计成功使用4次。
使用5,操作前0,结果有效False,实际变化0,当前耐久0,累计成功使用4次。
修理10,操作前0,结果有效True,实际变化10,当前耐久10,累计成功使用4次。
使用8,操作前10,结果有效True,实际变化-8,当前耐久2,累计成功使用5次。
最终耐久2,成功使用5次。
初始耐久加实际修理总量减成功使用消耗,应等于当前耐久。检查每步数值都在0至上限之间;对被拒绝的使用,操作前后必须完全相同,而不是先扣到零再判失败。
动手复盘时,把每一步的输入、操作前值、判断依据和操作后值分开写。若与示例不一致,先定位第一处分歧,检查边界是否包含、顺序是否颠倒、编号和单位是否一致。不要跳过中间状态只修正最后数字,也不要把未规定的行为凭经验补进去。
再做一次练习时只调整一项输入,先预测哪些后续行会变化,再重新推演并保留两份记录。对没有变化的部分也说明原因,能帮助判断机制的作用范围。应用到真实游戏之前,应先在说明或可重复场景中确认对应条件;不同作品可能使用不同边界、优先级和时间约定。