本篇70亿人10关攻略面向正在第10关“重复验证码录入”卡住的玩家,直接按“卡在哪→怎么解”的顺序给出可照做步骤,并标注了移动次数底线和判定逻辑。适用版本/更新时间:以官方最新版本为准,后续更新可能调整判定。
第10关要求你指挥一群小人,把左侧输入的4位数字验证码原样搬运到右侧输出框。很多人在此关第一次接触“循环”和“指针”概念,容易陷入“一个一个搬运”的思维定式。本关没有时间限制,只看最终移动步数和代码行数两项评分,步数超过70会被判定为“低效”,但依然能通关。
这是最常见的卡关原因。问题出在没有先给小人指定固定起始位置,导致每个小人随机站到输入区,拿到的数字自然对不上。
if see(0,0): step(5,0),让小人先判断自己面前是否是第一个数字。如果你发现小人反复在同一个位置打转,多半是没有写“搬完后回到起点”的指令。在搬运动作后加一步step(-5,0),让小人退回原处等待下一次循环。
很多玩家在这里用repeat 4循环搬运4位数字,结果发现前两位总被后两位覆盖。原因是输出框的写入位置没有随循环递增。
target_x = 5,每次搬运完成后执行target_x += 1。step(5,0)直接写入,否则4次循环都写在同一个格子。一个省时技巧:把“返回输入区”的指令放在循环的末尾而不是开头,这样循环第一次执行时能少走一段空路。
本关满分要求是步数≤55,代码行数≤10。如果你目前步数在60~70之间,通常不是逻辑错,而是路线绕了。
wait指令,等待也算步数,实测一次等待会加1步。我这边用上述直线+双人并行方案,最终成绩是步数52、代码行数9,供你参考。
第10关有一个不太显眼的判定:如果你在循环内复用同一个读取指令(即不重复写see),系统会额外给一条“节省指令”注释,但不影响通关。想拿全成就的玩家可以在第2轮循环时把step目标从(5,0)临时改为(5,1),再改回来,实测不会触发错误,但会多2步,不建议冲评分时用。
能过,但不推荐。不用循环意味着把“读取→搬运→放下”写4遍,代码行数会超过15行,虽然通关判定只看结果不看行数,但步数会多出近20步,拿不到高效评价。如果你只想过关,直接复制4段相同代码也可以。
因为你没有给“搬运完”这个状态定义后续动作。检查代码末尾是否有return或跳转指令。如果没有,小人会停在输出框旁,等到下一次循环开始时才被唤醒,白白损失等待步数。
输出框按坐标从左到右填充,但你可以手动指定写入任意空位。先写第4位再写第1位技术上可行,只是会让后续小人找空位时多一步判断,步数会涨。建议按输入顺序写入,逻辑最稳。