7 Billion Humans最后的冲刺-----我是否是个合格的工程师

前言

开始时,这个益智游戏仅仅是行走和拿放方块。然后,加入了条件判断和JUMP,虽然变得复杂了很多,可也不过是一步步的执行。简单的操作肯定难度不会很大。之后,游戏加入了内存,即每个机器人都有了4个自己的记忆模块,还有了许多自动化操作 \dots
游戏后期,机器人学会了交流,学会了自己按顺序判断周围环境(检测物品)。


工作第58年

随着最后出厂时间的逼近,我感受到了害怕。我意识变得混乱,等我再次步入公司电梯时,已经想起来了,我并不是在生产线上慢慢变得让人胆寒的机器。我一直是操控它们,训练它们的公司员工。这个世界早已经没有对机器的恐惧,七十亿人生活的除了生理方面的任何所需都可以靠机器完成。我到底在害怕什么!

无论我训练的这些机器是否达到了出厂要求,无论有没有更高的智能,给世界带来更多的效益,都对我的生活没有影响。机器早已经可以完成自我生产,公司高层和我上司都是自走操控机这都是很平常的事情。但是,为什么还不出现能满足我难以压抑的生理需求的东西。我不管现在的人生存的意义,能活多久也不是我所需要思考的。我只是想能不能脱离这样的异化,能找到属于自己的另一半。


在我工作的58年,我需要安排一群智能机去把地板上的方块重新摆放。以达到每个方块最多三个邻近方块的要求。

  • 判断原理是,首先去最近的方块处,满足条件就拿起,随便走,到满足条件的地方就放下。

在这里插入图片描述
绿色是worker所在处。什么情况下绿色处的邻近方块数最多三个呢?
只要保证8个方向中有左右(上下)的(1处或两处)或斜对角(2处或一处)的没有方块就行了,比如可以是判断左边上个不是方块,或者判断左上角 + 左边 +右边 不是方块也行(一定要有斜对角和左右(上下)的)。

在这里插入图片描述

Understaffed Sorting

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里奇怪的是,如果不用mem1做中间变量,直接判断下面和右下角的值的话,速度会慢很多。

The Sorting Floor

说不出话——

感觉无法下手。

在这里插入图片描述

Glory Hole

这个和扫雷差不多。找到某个方块,在其周围方块上找到比此方块更小的值。然后一步步步入深渊。
之前用过一个知识点,and的优先级高于or
在这里插入图片描述

Lazy Pathways

难度比The Sorting Floor难度小一点,但是仍然很难!!!

需要遍历所有的点,把boss到每个方块位置的距离重写到该点的方块上。
解决方案:
到某个方块上时,找到周围比脚下方块更小的方块M,记录M+1,重写脚下的方块。
在这里插入图片描述
关于上面forEachDir里的两个判断,可以写成下面的样子:
在这里插入图片描述

但是不能写成这么这样子:
在这里插入图片描述

估计是游戏的BUG,上面的解答写成两个判断可以运行成功,说明游戏还是遵从着and优先级大于or
但是把 mem2 == 0 写在后面,就没有识别到。

Defrag Disordered

让房间内的方块排列得尽量紧密,不要让方块间留下空缺。
在这里插入图片描述
<5 表示只把下面5排的方块拿起,去填补上面3排的空缺。
在这里插入图片描述
在这里插入图片描述

Binary Counter

用4个方块加一个按钮,一共5个机器人一起合作让显示屏显示0~15.

  1. 这个地方右边的按按钮的worker处理的很巧妙,让他在循环里一直继续下去。
  2. 对于其他worker,放下方块说明准备好了,这时可以通知所有人。
  3. 如果我方块已经放下,我需要等Go的命令,听到后拿起方块。如果我方块已经放下,我需要等Go的命令,听到后拿起方块。

在这里插入图片描述

Dfrag Ordered

想死!
前面的Dfrag Disordered是捡方块放方块,而这个是排序,难度之大让我想起了前面的The Sorting Floor。
狭小的空间里,无法使用一个空位来做两个方块调换位置的中间工具。
该怎么做呢????

在这里插入图片描述

Decimal Counter

在这里插入图片描述

Decimal Doubler

猜你喜欢

转载自blog.csdn.net/weixin_41374099/article/details/88361309