70亿人游戏攻略图解:开局到通关全阶段拆解
📍 WDQWDWQD987AAAAA:216.73.216.252
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /6929a88a0057.html
📄
70亿人游戏攻略图解:开局到通关全阶段拆解
这份70亿人游戏攻略图解按开局、中期、后期的推进节奏,把每关的搬运、分拣、排序步骤拆到“点哪条指令、放哪个输入口”的粒度。当前适用版本以官方最新版本为准(更新日期:2024年5月实测,后续版本若调整关卡顺序,指令逻辑基本不变)。
关卡概述与通关目标
70亿人(7 Billion Humans)是解谜类游戏,核心是给办公室里的“小人”编写指令(如 step、pickup、mem、if 等),让它们按流程完成传送带上的数据搬运。游戏共 60 余关,按机制可分为三个阶段:开局(前 10 关,熟悉移动与拿起放下)、中期(11-35 关,引入数据判断与文件排序)、后期(36 关以后,多线程协作与内存寻址)。
开局阶段(第 1-10 关):移动与基本拿放
第 3 关“搬运工”示例:从左侧文件柜到右侧出件口
- 开局小人站在左侧,面前是 3 个文件柜,右侧 10 步外是出件口。先把指令拖入编程区:step(前进)、pickup(拿起)、put(放下)。
- Step1:写 1 条 step S,让小人走到第一个文件柜前(坐标:出生点下方 2 行,左侧第 1 列)。
- Step2:接 1 条 pickup,拿起柜顶的文件(拿起的判定范围是紧邻一格,别站太远)。
- Step3:写 1 条 step E,向右走 6 步,直到站在出件口正前方(我这边实测出件口在第 8 列,若你的版本布局不同,看地面上的黄色箭头标记)。
- Step4:接 1 条 put,文件落入出件口,关卡完成。
省时技巧:开局几关只需要把程序每行指令都执行一次,不用写 loop(循环)。如果小人卡住,检查是否漏了 pickup 或 put——这两个指令占 1 行,别和 step 写在同一行里。
中期阶段(第 11-35 关):数据判断与文件排序
第 17 关“奇数偶数分流”示例:按号码奇偶送到两个出口
- 传送带会不断送来带号码的文件,左侧出口收偶数,右侧出口收奇数。先拿 1 个小人站到传送带末端(坐标:中央偏左第 4 列)。
- Step1:用 mem1 = 文件号码(读取指令)把号码存到内存里,之后判断用。
- Step2:写 if mem1 % 2 == 0(判断是否能被 2 整除),条件成立走左侧,不成立走右侧。
- Step3:条件成立分支里写 step W 走 3 步到左出口,接 put;条件不成立分支写 step E 走 3 步到右出口,接 put。
- Step4:整段程序外包一层 loop(循环),确保下一个文件来时小人回到传送带末端。注意循环结束前要 step N 退回原位,否则第二次会跑偏。
卡关点:中期最常见问题是“小人拿完文件后停在传送带上,被下一个文件撞到”。解法是拿完文件立刻向左或向右退出 1 格,再走判断路径。
后期阶段(第 36 关起):多线程协作与内存寻址
第 42 关“并行排序”示例:两个小人协作将乱序数字升序排列
- 场地分上下两层,上层是 6 个乱序数字,下层是 6 个空位。你需要 2 个小人同时编程,每个小人独立控制。
- Step1(小人 A):站在上层左侧,使用 step S 走到第一个数字前,pickup 拿起。
- Step2(小人 B):站在下层空位上方,负责接收。写 if 上层对应位置有数字(用 mem2 = 坐标数据 感知),然后走到最左侧空位准备接。
- Step3(核心寻址):小人 A 把数字放下到下层时,用 mem1 = 数字的值,然后写 if mem1 > mem2(比较大小),确定放左边还是右边。实测后期关卡数字范围在 0-99,比较指令一次只能比两个数。
- Step4:两个小人通过 tell(告知)指令互相传递“我已就位”的信号——A 告知 B “放下”,B 才走过去拿。顺序写反会导致 B 提前移动到错误空位。
省时技巧:后期关卡如果小人数目超过 2,先让多出的小人站在场地中央当“中转站”,能省掉大量折返跑的 step 指令——我这边实测中转策略能让第 42 关的指令行数从 30 行降到 20 行左右。具体每关最优步数会因版本微调,以通关判定为准。
易错点提醒
- 指令行数与执行顺序不匹配:游戏按行号从上到下执行,新增指令默认插在末尾。如果发现小人先走再拿,检查是不是把 pickup 写在了 step 后面——把 pickup 拖到 step 上方即可。
- 坐标偏移导致拿不到文件:pickup 只能拿正前方或脚下格子里的东西。小人面向的方向由最后一次 step 的方向决定,转向别用 step,用 turn 指令(开局就有)。
- 循环里忘了重置内存:中后期用 mem1 存过数值后,第二次循环如果不覆盖 mem1,判断会沿用旧值。在循环开头加一条 mem1 = 0(或直接重新读取)【以实机为准】。
隐藏要素与收集品
每关通关后有 2 项隐藏统计:步数(生成指令的总行数)和 时间(程序运行的总秒数)。低于关卡右上角显示的标杆值,会解锁“高效员工”徽章,这个徽章不影响后续关卡解锁,纯收集向。后期关卡若想刷低步数,优先减少 step 指令——两条 if 分支合并成一条 比较指令(如跳转)通常能省 3-5 行。另外每关地图角落偶尔会有带“?”的白色方块,踩上去会弹出一句开发者的吐槽,无实际功能,但算作全收集要素,具体位置随版本布局变化【以实机为准】。
常见问题
为什么我的小人一直站着不动,程序也不报错?
检查是否漏写了 loop 指令。所有需要重复执行的关卡,程序最后必须有一条 loop 让代码回到开头;如果关卡要求只执行一次(开局前几关),则不需要 loop。另外确认小人的起始朝向——默认面向上方,如果第一指令是 step E,小人会先转向再走,不会卡住。
多人关卡里,两个小人拿了同一份文件怎么办?
这是中期常见问题。解法是给两个小人设置不同的起始位置:拖拽小人头像到地图不同格子上,再分别编写程序。如果已经开跑才发现冲突,点右上角红色复位按钮,重新调整站位。文件同一时刻只能被一个小人持有,另一个会执行 pickup 但失败并停在原地。
后期关卡的比较指令(if 语句)格式怎么填?
比较指令需要选三个参数:左值(通常是 mem1 或文件号码)、比较符(大于/小于/等于)、右值(另一个 mem 或常数)。填写时先点左侧参数,再点中间符号,最后点右侧参数。如果只填了两个参数,指令会显示为红色,无法运行——程序区下方的“运行”按钮会变灰,留意这个信号。
相关攻略