这关如果按照传统的方式一步步仔细来想过是没问题,但是无法得到老板认可,因为步数太多了不简练,接下来沫沫给大家介绍方便又快捷的通关办法。
游戏要求将inbox的两个数值做比较,大的一个放进outbox,若两个数相等可二选其一放置,直到inbox里的数全部清空为止。
思路很简单,这是沫沫之前编写的程序,虽然最后全部清空了,但是领导并不满意,因此必须寻去更简洁的办法。
按照下图要求输入程序,沫沫讲解一下思路:先将拿到的*个数值复制到地毯上,再从inbox中选择第二个数字添加sub代码使二者相减,若是负数则说明地毯上的数值要大,因此可以执行将其从地毯上copyfrom复制到outbox,这里很好理解,关键是下一步。
若是头脑愚钝点的,像沫沫这样,很可能输入一大串代码才能清空所有数据,会自然而然地分为等于0和大于0两种情况来写代码,但是这里其实不用。
若是*轮相减过后不是小于0的情况,后面相减的结果一定大于或等于0,因此手持的数一定会大于或等于地毯上的数。
假设地毯上的数是2,而我们手持的是3,3+2=5,则我们将手里的数直接丢进outbox;
假设地毯上的数是2,而我们手持的也是2,2+2=4,这时候我们同样可以执行将手里的数直接丢进outbox。(负数也是一样的道理)
因此在这里我们添加add代码,结果一定是正数,直接将手持的数放进outbox即可。
如图,这样就基本完成了代码设置,接下来再添加一个向下的jump代码省略copyfrom和outbox代码即可成功通关。
如图,完全符合诊断条件。
时间:02-18
时间:03-22
时间:03-21
时间:03-21