《程序员升职记》是一款趣味性十足的休闲益智类游戏。在这款作品里,玩家将化身一名初入职场的年轻程序员,靠着持续攻克编程难关、各类趣味谜题,一步步精进自身技术,实现职位的逐级晋升。游戏了数量颇丰的关卡,每一关都定制了差异化的编程任务与逻辑烧脑题,玩家得灵活调用已掌握的编程知识、发挥自身的问题处理能力才能顺利通关。在一路闯关的进程中,玩家还会遇上各式各样的考验与阻碍,得通过代码优化、程序调试等多种手段逐个扫清。经历这一系列挑战之后,玩家既能让自身的编程实操能力得到实打实的提升,也能切身感受到一名出色程序员所必备的逻辑思维素养与问题处置能力的养成过程。
程序员升职记特色
1、使用拖放命令来指导人类办公人员来解决老板布置的问题。
2、解开一个难题,就能升级到公司大楼的下一层上,然后解决另一个问题。
3、玩家需要通过安排指令、启动程序去完成任务。
程序员升职记亮点
1、创造了许多真实而令人震惊的场景。
2、在开放结局中,不同的选项可能导致不同的结局。
3、多种有趣的模式正在等待您发现和挑战。
程序员升职记优势
1、更多的谜题,更多的人类,更大的大脑肌肉,超过60多个水平的编程难题!
2、一款前所未有的新型编程语言!它在人力资源机器的既有逻辑基础上延伸而来,既支持由单个工人独立执行操作,又能实现海量工人同步运行,为全球70亿人提供了一种全新的语言选择。
3、你会学到你需要知道的一切。即使是无用的技能也可以投入工作!
程序员升职记攻略
第一关:收发室
将命令拖到此区域(右侧区域)来写程序。
你的程序要告诉你的工人取出INBOX中的每件东西,然后放到OUTBOX中。
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过6个命令(6)……【√】满足标准
挑战速度:平均以不超过6步完成(6)……【√】满足标准
第二关:繁忙的收发室
取出INBOX中的每件东西,然后放到OUTBOX中。
你目前可以使用一项全新的指令功能!你能够拖动JUMP对应的指针,让运行流程跳转至你编写的程序里的不同点位来执行对应指令。
有了这项功能,你可以仅用3个命令完成这项任务。
解题方法1:满足挑战体积
挑战体积:使用不超过3个命令(3)……【√】满足标准
挑战速度:平均以不超过25步完成(30)
解题方法2:满足挑战速度
挑战体积:使用不超过3个命令(5)
挑战速度:平均以不超过25步完成(25)……【√】满足标准
第三关:复印楼层
暂时先无视INBOX,直接把下面三个字母发至OUTBOX:BUG
设备管理部的员工在地毯上放了些东西。要是你有办法把它们捡起来就好了
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过6个命令(6)……【√】满足标准
挑战速度:平均以不超过6步完成(6)……【√】满足标准
第四关:解扰码器
从INBOX中取出两件东西然后以相反的顺序扔进OUTBOX中。重复直到INBOX为空。
你现在有权使用一个新的命令!你可以随时COPYTO(复制到)地毯上的任何位置。稍后会有人来清理。
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过7个命令(7)……【√】满足标准
挑战速度:平均以不超过21步完成(21)……【√】满足标准
第五关:咖啡时间(略)
第六关:多雨之夏
对于INBOX中的两个数,加起来,然后把结果放在OUTBOX中。
你现在有权使用一个新的命令!无论你拿着什么值,ADD都会将地板上指定地砖的内容加到你手上。
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过6个命令(6)……【√】满足标准
挑战速度:平均以不超过24步完成(24)……【√】满足标准
第七关:零之杀手
把所有不是零的东西发到OUTBOX。
你现在有权使用一个新的命令!只有拿着零时它才会跳转,否则它就会继续执行下一行。
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过4个命令(4)……【√】满足标准
挑战速度:平均以不超过23步完成(23)……【√】满足标准
第八关:三倍扩大室
对于INBOX中的每样东西,将其增加到三倍,然后OUTBOX结果。
自我提升提示:我们要干这有什么用?请将这些高层决策留给经理部。
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过6个命令(6)……【√】满足标准
挑战速度:平均以不超过24步完成(24)……【√】满足标准
第九关:保护零行动
只把零送到OUTBOX。
解题方法1:满足挑战体积
挑战体积:使用不超过5个命令(5)……【√】满足标准
挑战速度:平均以不超过25步完成(28)
解题方法2:满足挑战速度
挑战体积:使用不超过5个命令(7)
挑战速度:平均以不超过25步完成(23)……【√】满足标准
第十关:八倍扩大器套件
对于INBOX中的每个数,将其乘以8,然后把结果放在OUTBOX中。
使用一堆ADD指令很容易,但很浪费!你能做到只用3个ADD指令吗?经理部在看着你。
解题方法:同时满足挑战体积和速度
挑战体积:使用不超过9个命令(9)……【√】满足标准
挑战速度:平均以不超过36步完成(36)……【√】满足标准
程序员升职记玩法
一、程序结束判定
不知道大家有没有注意到,这套编程逻辑里压根没有专门的终止指令,绝大多数任务的执行全靠循环机制支撑,那到底满足什么条件才算程序真正跑完了?稍微捋一遍代码的执行流程就能看出来,当所有代码语句都执行完毕的时候,程序就直接结束了,这个逻辑其实和大家的日常直觉是吻合的对吧?那那些根本没法顺着流程走完所有代码、跳不到代码末尾的程序又该怎么结束呢?我个人的思路是靠触发inbox操作来实现终止的:调用inbox的时候,如果检测到输入队列已经空了,程序就会直接退出运行。不过这里就冒出一个实际问题了,如果inbox操作的位置离循环的入口点太远,那程序输出完最终结果之后,还得额外多跑好几个操作步骤才能抵达inbox(null)的位置,平白增加了总运行步数,要是没有特殊需求的话,这部分完全可以做优化调整。
二、程序结果的审核
日常开发场景里最常碰到的问题,大多是代码运行过程中出现的非预期空值操作或是类型适配偏差,举几个典型情况:比如对空状态的outbox执行操作、拿空值做加减运算、读取未赋值的空单元格、用字母类内容和数字直接做加减计算等等。除此之外,第二大类常见问题是最终输出的数值不符合预设的规范要求,这部分内容还需要做进一步的细化说明。
你多半会留意到,只要输出了错误结果,程序就会弹出报错提示:“程序期待输出某值,而你输出某值”。由此我们推断,这类数值肯定是提前计算好的,系统就是用来比对你提交的结果哪里出了差错,这类推测在绝大多数场景下都是符合实际情况的。
2、除此之外还存在一类相对少见的报错情形:当你完成按需输出的操作后,程序弹出提示“你的输出格式看似合规,但我能找到一个反例证明结果有误”。出现这类问题的根源,要么是你对题干的理解存在疏漏,代码逻辑没能覆盖所有特殊场景;要么是你采用了投机取巧的写法,专门针对当前给定的输入序列定制了对应的输出序列,根本不具备通用适配性。据我推测,系统在完成公开测试序列的校验之后,还会用后台留存的全部备用测试序列对程序做全量校验,但凡有一个序列跑不通就会触发报错,并且后续会把这个不通过的测试序列展示出来。另外这套系统还搭载了总步数评分机制,平台的设计者从初衷上来说肯定希望同一程序在所有备用序列上跑出的得分保持一致,生成测试序列的时候大概率也借助了相关理论或者专业工具做校验评估,但即便如此还是难免残留一些偏差或者说漏洞,完全可以借助这些偏差点对程序做进一步优化。
3、除此之外还存在一类出现概率更低的问题,比如类似`loop{ ... ; outbox; .... ; inbox; ... }`的代码写法。这种情况的表现是“你确实输出了所有预期得到的值,但最终产出的输出内容数量超出了要求范围”,典型示例如输出序列1,2,3,4, 1,3,5,7, 1。前文已经说明过,程序的终止是以读取到空输入的`inbox(null)`作为判定标识的,因此在调用inbox操作之前,要谨慎使用outbox输出操作。
程序员升职记测评
在这款作品里,玩家不光能获得更丰富的休闲游玩感受,还能在过程中锻炼代码编写的相关能力。它的关卡难度梯度设置合理,从入门级的简单内容逐步过渡到高挑战性的困难模式,整体游玩体验十分出色。叙事方面的呈现也十分出彩,相关剧情设定非常贴近现实,整体表现相当不错。