程序员升职记正式版
程序员升职记正式版,一款非常硬核的休闲解密游戏,扮演一名IT公司职场新人,通过不断努力达成“变态上司”交给的每一个“小目标”,最终达到事业巅峰,在公司辛苦的工作,每天都要加班,还要遭到上级的压榨。
一、程序结束判定
不知道大家留意没,这个游戏的编程是没有终止命令的,而绝大多数任务都是靠循环的,那到底怎么样才算程序的结束呢?通过头机关,不难发现,代码走完了,程序就结束了,这个符合直觉对吧。但那些无法跳到底的程序呢,我觉得是靠触发inbox来实现的,当使用inbox时,如果输入队列为空,则程序跳出。这里就产生了一个问题,如果inbox离循环入口太远,那输出最终结果后,又得多运行几个动作才能到达inbox(null),增加总步数,如无必要,此处可优化。
二、程序结果的审核
一般最常见的错误是程序中意外的空手操作或类型不匹配,比如空手outbox、空手加减、空格子读取、字母加减数字等。其次,是错误输出值不符合要求,这里需要展开。
1、你往往会发现只要输出一个错误结果,程序就会报错“程序期待输出某值,而你输出某值”,所以我们觉得,这个数值一定是预先算过的,就等着看你给错了哪个,这种猜想多数情况下是成立的。
2、但还有稍不常见的错误,当你执行完毕按需输出后,程序报错“虽然你正确输出,但我能给出一个反例”,这种情况是你不完全理解题干,程序里出现某些特例不能兼顾的地方,或者投机取巧,仅仅为满足当前输入序列去产生特定的输出序列。我估计,系统在测试完当前给出的序列后,在后台对备用的所有序列都做了测试,行不通的就报错并在下次抛出这个序列。然而,系统有一个总步数评分系统,游戏作者主观上当然是希望它的备用序列在同一程序下跑分要一样,生成序列时可能用到一些理论或专业工具进行评估,但这或许还会遗留一些差异,或者说BUG,或许可以利用这些差异进行优化。
3、还有更不常见的错误,如 loop{ ... ; outbox; .... ; inbox; ... }。“你输出了所有期待的值,但输出结果过多”(如1,2,3,4, 1,3,5,7, 1)。前面提到程序结束是以inbox(null)为标志的,所以在inbox前慎用outbox。
1、根据任务需求,合理安排代码顺序,就像搭建思维大厦,每个代码块都是基石。
2、先使用 “读取” 代码块获取输入框中的物品,再用 “处理” 代码块进行相应操作。
3、完成代码排列后,点击执行按钮,程序开始运行,检验代码逻辑是否正确。
1、成功通过一关后,将解锁下一层关卡,不断重复上述步骤,挑战更高难度任务。
2、随着关卡推进,玩家的能力也会逐步提升,体验程序员职业生涯的晋升。
3、游戏设有强迫症模式,为每个关卡增加了目标限制,如限制命令使用次数。
1、游戏的智能评分系统不仅检验代码的正确性,还注重程序的健壮性和执行效率。
2、通过优化代码,减少不必要的操作,获得更高评分,争取在每个关卡中获得满星评价。
3、玩家根据自身能力和进度选择关卡,不同关卡难度不同,任务也各异。