Skip to main content
  1. Posts/

《70亿人》通关宝典

·4830 words
技术漫谈 游戏 70亿人
Table of Contents

02
#

-- 7 Billion Humans (2235) --
-- 2: 欢迎新员工 --
step s
pickup c
drop

03
#

-- 7 Billion Humans (2235) --
-- 3: 运输小队 --

step s
pickup c
step s
step s
drop

04
#

-- 7 Billion Humans (2235) --
-- 4: 长途运输 --

step e
pickup c
a:
step e
jump a

05
#

-- 7 Billion Humans (2235) --
-- 5: 重要的抉择 --

if w == datacube:
	a:
	step w
	jump a
endif
b:
step e
jump b

06
#

-- 7 Billion Humans (2235) --
-- 5: 重要的抉择 --

if w == datacube:
	a:
	step w
	jump a
endif
b:
step e
jump b

06-1
#

-- 7 Billion Humans (2235) --
-- 6: 小小驱虫工 1 --

step s
step s
step w
step w
step s
step s
step e
step e
step e
step s
step s
step s
pickup c

07
#

-- 7 Billion Humans (2235) --
-- 7: 整理房间 --

a:
pickup c
if s != hole:
	step s
	jump a
endif
drop

07-1
#

-- 7 Billion Humans (2235) --
-- 7: 整理房间 --

a:
step s
if c == datacube:
	pickup c
	step s
	b:
	if s != hole:
		step s
		jump b
	else:
		drop
	endif
else:
	jump a
endif

09
#

-- 7 Billion Humans (2235) --
-- 9: 对角巷 --

pickup s
a:
step s
if w == nothing and
 sw == nothing:
	drop
endif
jump a

10
#

-- 7 Billion Humans (2235) --
-- 10: 疏散演习 --

a:
if c == nothing or
 c == 4:
	step w
endif
if c == 1:
	step n
endif
if c == 2:
	step e
endif
if c == 3:
	step s
endif
jump a

11
#

-- 7 Billion Humans (2235) --
-- 11: 注入数据 1 --

pickup s
a:
step s
if c == nothing and
 e == datacube:
	drop
endif
jump a

11-1
#

-- 7 Billion Humans (2235) --
-- 11: 注入数据 1 --

step s
pickup c
step s
step s
step s
a:
if c == nothing and
 e == datacube:
	drop
	jump b
endif
step s
step s
jump a
b:

12
#

-- 7 Billion Humans (2235) --
-- 12: 拉开拉链 --

pickup c
a:
if nw == worker:
	step s
	drop
endif
if sw == worker or
 w == wall:
	step n
	drop
endif
jump a

13
#

-- 7 Billion Humans (2235) --
-- 13: 注入数据 2 --

pickup s
a:
if e == worker and
 s == datacube or
 w == worker:
	step se
else:
	step s
endif
if w == datacube and
 c == nothing:
	drop
endif
jump a

14
#

-- 7 Billion Humans (2235) --
-- 14: 粉碎机入门 --

pickup s
step s
step s
giveto s

14-1
#

-- 7 Billion Humans (2235) --
-- 14: 粉碎机入门 --

if s == datacube:
	step s
	pickup c
	step s
	giveto s
endif

15
#

-- 7 Billion Humans (2235) --
-- 15: 粉碎流水线 --

a:
if n == datacube:
	pickup n
	b:
	if s == shredder:
		giveto s
	else:
		step s
		jump b
	endif
endif
step n
jump a

15-1
#

-- 7 Billion Humans (2235) --
-- 15: 粉碎流水线 --

a:
if n == datacube:
	pickup n
	b:
	if s == shredder:
		giveto s
	else:
		step s
		step s
		jump b
	endif
endif
step n
jump a

16
#

-- 7 Billion Humans (2235) --
-- 16: 小小驱虫工 2 --

a:
if s != wall and
 s != hole:
	step s
	jump a
endif
pickup c
b:
if s == shredder:
	giveto s
endif
step e
jump b

16-1
#

-- 7 Billion Humans (2235) --
-- 16: 小小驱虫工 2 --

step s
step s
step s
step s
a:
if s != wall and
 s != hole:
	step s
	jump a
endif
pickup c
step e
step e
step e
step e
b:
if s == shredder:
	giveto s
endif
step e
jump b

17
#

-- 7 Billion Humans (2235) --
-- 17: 内容产出 --

pickup s

18
#

-- 7 Billion Humans (2235) --
-- 18: 独特偏爱 --

step sw
pickup n
a:
if s == shredder:
	giveto s
endif
step se
jump a

19
#

-- 7 Billion Humans (2235) --
-- 19: 内容产出-问题修复 --

takefrom s
a:
giveto se
takefrom sw
jump a

20
#

-- 7 Billion Humans (2235) --
-- 20: 反转流水线 --

pickup s
a:
if se == hole:
	step s
	b:
	if w != hole and
	 w != datacube:
		step w
		jump b
	endif
	drop
endif
step e
jump a

21
#

-- 7 Billion Humans (2235) --
-- 21: 大数据 --

step sw
a:
if se == printer:
	takefrom se
endif
step s
if myitem < 50 or
 myitem == nothing:
	giveto sw
	jump a
endif

22
#

-- 7 Billion Humans (2235) --
-- 22: 数字大逃杀 --

pickup s
a:
if e > myitem or
 w > myitem:
	b:
	step s
	jump b
endif
step w
jump a

23
#

-- 7 Billion Humans (2235) --
-- 23: 排序大厅 --

pickup s
a:
if e < myitem:
	step e
endif
if w > myitem:
	step w
endif
jump a

24
#

-- 7 Billion Humans (2235) --
-- 24: 数据接力 1 --

a:
if s == printer:
	takefrom s
endif
if s == shredder and
 myitem == datacube:
	giveto s
else:
	giveto e
endif
jump a

24-1
#

-- 7 Billion Humans (2235) --
-- 24: 数据接力 1 --

if s == printer:
	a:
	takefrom s
	giveto e
	jump a
endif
if e == worker:
	b:
	if myitem == datacube:
		giveto e
	endif
	jump b
endif
if s == shredder:
	c:
	if myitem == datacube:
		giveto s
	endif
	jump c
endif

25
#

-- 7 Billion Humans (2235) --
-- 25: 记忆体初体验 --

mem2 = nearest shredder
a:
mem1 = nearest datacube
pickup mem1
giveto mem2
jump a

25-1
#

-- 7 Billion Humans (2235) --
-- 25: 记忆体初体验 --

mem2 = nearest shredder
a:
mem1 = nearest datacube
pickup mem1
if myitem == datacube:
	giveto mem2
	jump a
endif

26
#

-- 7 Billion Humans (2235) --
-- 26: 数据接力 2 --

a:
if s == shredder and
 myitem == datacube:
	giveto s
endif
if myitem >= 50:
	giveto e
else:
	giveto w
endif
if s != shredder:
	takefrom s
endif
jump a

26-1
#

-- 7 Billion Humans (2235) --
-- 26: 数据接力 2 --

if s == printer:
	a:
	takefrom s
	giveto n
	jump a
endif
if n == worker:
	b:
	if myitem == datacube:
		giveto n
	endif
	jump b
endif
if s == shredder:
	c:
	if myitem == datacube:
		giveto s
	endif
	jump c
endif
if n == hole:
	d:
	if myitem == datacube:
		if myitem >= 50:
			giveto e
		else:
			giveto w
		endif
	endif
	jump d
endif

28
#

-- 7 Billion Humans (2235) --
-- 28: 神经回路 --

mem2 = nearest shredder
mem1 = nearest datacube
pickup mem1
giveto mem2

29
#

-- 7 Billion Humans (2235) --
-- 29: 指纹认证 --

mem1 = nearest shredder
a:
mem2 = nearest datacube
pickup mem2
giveto mem1
jump a

30
#

-- 7 Billion Humans (2235) --
-- 30: 铺满地面 --

mem1 = nearest printer
a:
takefrom mem1
step nw,w,sw,n,s,ne,e,se
drop
jump a

30-1
#

-- 7 Billion Humans (2235) --
-- 30: 铺满地面 --

mem1 = nearest printer
a:
mem2 = nearest wall
takefrom mem1
step mem2
b:
if c == nothing:
	drop
else:
	step nw,w,sw,n,s,ne,e,se
	jump b
endif
jump a

31
#

-- 7 Billion Humans (2235) --
-- 31: 星罗棋布 --

mem1 = nearest printer
a:
if myitem == nothing:
	takefrom mem1
	step e
endif
step nw,sw,ne,se
drop
jump a

31-1
#

-- 7 Billion Humans (2235) --
-- 31: 星罗棋布 --

mem1 = nearest printer
a:
if myitem == nothing:
	takefrom mem1
	step w,n,s,e
endif
step nw,sw,ne,se
if c == nothing:
	drop
endif
jump a

32
#

-- 7 Billion Humans (2235) --
-- 32: 创造性扭动 --

a:
step nw,w,sw,n,s,ne,e,se
if c == datacube and
 c != 99:
	pickup c
	write 99
	drop
endif
jump a

32-1
#

-- 7 Billion Humans (2235) --
-- 32: 创造性扭动 --

a:
if s == datacube:
	step s
else:
	if w == datacube:
		step w
	else:
		step e
	endif
endif
pickup c
write 99
drop
jump a

33
#

-- 7 Billion Humans (2235) --
-- 33: 资料备份日 --

mem1 = set w
mem2 = set e
if mem1 < mem2:
	mem1 = set e
	mem2 = set w
endif
pickup mem1
write mem2
drop

34
#

-- 7 Billion Humans (2235) --
-- 34: 查找并摧毁 1 --

mem1 = nearest datacube
mem2 = nearest shredder
a:
step n
if n != wall:
	if c < mem1:
		mem1 = set c
	endif
	jump a
endif
pickup mem1
giveto mem2

35
#

-- 7 Billion Humans (2235) --
-- 35: 面向艺术生的计算器入门 --

pickup s
mem1 = calc myitem + 1
write mem1
drop

36
#

-- 7 Billion Humans (2235) --
-- 36: 查找并摧毁 2 --

mem2 = nearest shredder
a:
mem1 = set nothing
b:
step n
if n != wall:
	if c == datacube and
	 c < mem1 or
	 mem1 == nothing:
		mem1 = set c
	endif
	jump b
endif
pickup mem1
giveto mem2
jump a

36-1
#

-- 7 Billion Humans (2235) --
-- 36: 查找并摧毁 2 --

mem2 = nearest shredder
a:
step n
if c == datacube:
	if mem1 != datacube or
	 c < mem1:
		mem3 = set mem1
		mem1 = set c
	else:
		if c < mem3 or
		 mem3 != datacube:
			mem3 = set c
		endif
	endif
endif
if n == wall and
 mem1 == datacube:
	pickup mem1
	giveto mem2
	if mem3 == datacube:
		pickup mem3
		giveto mem2
	endif
endif
jump a

37
#

-- 7 Billion Humans (2235) --
-- 37: 危险的电子表格 --

a:
if e == hole:
	step se
	if ne == hole:
		step e
	endif
	step ne
else:
	step e
endif
if e == wall and
 c == 0:
	pickup c
	write mem1
	drop
endif
mem1 = calc mem1 + c
jump a

38
#

-- 7 Billion Humans (2235) --
-- 38: 查找并摧毁 3 --

mem2 = nearest shredder
mem4 = nearest hole
if s == shredder:
	step mem4
endif
a:
if n != wall:
	step n
else:
	pickup mem1
	b:
	c:
	mem3 = nearest worker
	if mem3 != worker:
		giveto mem2
	endif
	if mem3 < mem1:
		step mem4
	endif
	if mem3 == mem1:
		comment 0
		step s
		if s == wall:
			step e
		endif
		jump c
	endif
	jump b
endif
if c < mem1 or
 mem1 != datacube:
	mem1 = set c
endif
jump a

39
#

-- 7 Billion Humans (2235) --
-- 39: 打印守则 1 --

mem3 = nearest printer
a:
mem1 = calc mem1 + 1
if mem1 <= 5:
	takefrom mem3
	b:
	step nw,w,sw,n,s,ne,e,se
	if c != nothing:
		jump b
	endif
	drop
	jump a
endif

40
#

-- 7 Billion Humans (2235) --
-- 40: 打印守则 2 --

mem3 = nearest printer
a:
mem1 = calc mem1 + 1
if mem1 <= 5:
	takefrom mem3
	write mem1
	b:
	step nw,w,sw,n,s,ne,e,se
	if c != nothing:
		jump b
	endif
	drop
	jump a
endif

40-1
#

-- 7 Billion Humans (2235) --
-- 40: 打印守则 2 --

mem3 = nearest printer
a:
takefrom mem3
b:
step nw,w,sw,n,s,ne,e,se
if c == nothing:
	mem1 = calc mem1 + 1
	write mem1
	drop
	if mem1 == 5:
		end
	endif
	jump a
endif
jump b

41
#

-- 7 Billion Humans (2235) --
-- 41: 图片解密 --

pickup w
mem1 = calc myitem + 1
a:
if mem1 <= 0:
	drop
	step ne
endif
step w
mem1 = calc mem1 - 1
jump a

41-1
#

-- 7 Billion Humans (2235) --
-- 41: 图片解密 --

pickup w
step w
mem1 = set myitem
a:
if mem1 > 4:
	step w
	step w
	step w
	step w
	step w
	mem1 = calc mem1 - 5
endif
if mem1 > 3:
	step w
	step w
	step w
	step w
	mem1 = calc mem1 - 4
endif
if mem1 > 2:
	step w
	step w
	step w
	mem1 = calc mem1 - 3
endif
if mem1 > 0:
	step w
	mem1 = calc mem1 - 1
	jump a
endif
drop
mem1 = nearest hole
step mem1

42
#

-- 7 Billion Humans (2235) --
-- 42: 整理邮件 --

a:
mem1 = nearest datacube
step mem1
if s == shredder:
	b:
	if n != wall and
	 nw != wall and
	 ne != wall:
		c:
		step nw,w,n,ne,e
		jump b
	endif
	jump a
endif
pickup c
mem1 = calc myitem / 10
d:
step w,sw,n,s,e,se
if mem1 == c and
 s == shredder:
	giveto s
	jump c
endif
jump d

42-1
#

-- 7 Billion Humans (2235) --
-- 42: 整理邮件 --

if n == wall and
 sw == worker:
	step s
endif
if nw == worker and
 s == datacube:
	step w
endif
a:
if w != wall:
	step sw
	jump a
endif
step ne
b:
c:
if s != shredder:
	pickup c
else:
	jump d
endif
mem1 = calc myitem / 10
mem2 = set e
mem3 = nearest shredder
step mem3
e:
if c > mem1:
	step w
	jump e
endif
f:
if c < mem1:
	step e
	jump f
endif
if myitem == datacube:
	giveto s
	step mem2
	jump b
endif
d:
step nw,n,ne
step nw,n,ne
mem2 = nearest datacube
step mem2
jump c

43
#

-- 7 Billion Humans (2235) --
-- 43: 九九乘法表 --

a:
step n
if n != datacube or
 c != nothing or
 s != datacube:
	jump a
endif
mem1 = set n
b:
step s
mem2 = calc mem2 + mem1
pickup c
write mem2
drop
jump b

44
#

-- 7 Billion Humans (2235) --
-- 44: 独特时髦派对 --

mem1 = nearest hole
pickup s
a:
step nw,w,n,ne,e,se
if myitem == nw or
 myitem == n or
 myitem == w or
 myitem == ne:
	step mem1
endif
jump a

46
#

-- 7 Billion Humans (2235) --
-- 46: 强制办公室恋情 --

a:
if e == worker:
	tell e hi
	listenfor hi
	jump a
endif
b:
listenfor hi
tell w hi
jump b

47
#

-- 7 Billion Humans (2235) --
-- 47: 全自动寒暄 --

if w == worker:
	listenfor hi
endif
tell e hi

48
#

-- 7 Billion Humans (2235) --
-- 48: 社群培训日 --

if n != wall:
	listenfor go
endif
takefrom s
mem1 = nearest shredder
giveto mem1
tell everyone go

49
#

-- 7 Billion Humans (2235) --
-- 49: 双向销毁 --

pickup s
mem1 = nearest shredder
a:
if w != nothing and
 e != nothing:
	jump a
endif
giveto mem1
step sw

50
#

-- 7 Billion Humans (2235) --
-- 50: 无声交流 --

mem1 = set sw
a:
if mem1 == 1:
	takefrom s
	giveto se
	step w
	mem1 = set 4
endif
mem1 = calc mem1 - 1
jump a

51
#

-- 7 Billion Humans (2235) --
-- 51: 公司职级 --

pickup s
a:
mem1 = calc mem1 + 1
if w != worker:
	step s
	write mem1
	drop
endif
jump a

52
#

-- 7 Billion Humans (2235) --
-- 52: 统计众数 --

mem1 = nearest datacube
a:
step w
if s != nothing:
	mem2 = calc mem2 + 1
	jump a
endif
step n
step n
b:
if c == datacube and
 c == mem2:
	mem3 = calc mem3 + 1
endif
if e == nothing or
 e == wall or
 e == hole:
	step n
	if c == nothing and
	 n == wall:
		pickup mem1
		write mem3
		drop
		end
	endif
	c:
	if w != wall and
	 w != hole:
		if c == datacube and
		 c == mem2:
			mem3 = calc mem3 + 1
		endif
		step w
		jump c
	endif
	step n
endif
step e
jump b

53
#

-- 7 Billion Humans (2235) --
-- 53: 地上的100个方块 --

if n == wall:
	a:
	if w != wall:
		step w
		pickup c
		write mem1
		drop
		mem1 = calc mem1 + 1
	else:
		step se
		b:
		if c == datacube:
			step e
			jump b
		endif
	endif
	jump a
endif

53-1
#

-- 7 Billion Humans (2235) --
-- 53: 地上的100个方块 --

if n == worker:
	mem1 = set 10
endif
if nw == worker:
	mem1 = set 20
endif
if e == wall and
 s == nothing:
	mem1 = set 30
endif
if w == datacube and
 s == nothing and
 n != worker:
	mem1 = set 40
endif
if sw == worker and
 e == nothing:
	mem1 = set 50
endif
if ne == worker and
 s == nothing:
	mem1 = set 60
endif
if se == wall and
 s == wall and
 w == nothing:
	mem1 = set 70
endif
if e == wall and
 sw == worker:
	mem1 = set 80
endif
if s == wall and
 w == datacube:
	mem1 = set 90
endif
a:
if w != wall:
	step w
	if c == datacube:
		pickup c
		write mem1
		drop
		mem1 = calc mem1 + 1
	endif
	jump a
endif

54
#

-- 7 Billion Humans (2235) --
-- 54: 平整地形 --

a:
b:
if n != wall:
	step n
	pickup c
	write mem1
	drop
	jump b
endif
mem1 = calc mem1 + 1
c:
if s != nothing or
 c != nothing:
	step s
	jump c
endif
jump a

54-1
#

-- 7 Billion Humans (2235) --
-- 54: 平整地形 --

a:
if c == nothing:
	step n
	jump a
endif
b:
if n != wall:
	mem1 = calc mem1 + c
	step n
	jump b
endif
step s
pickup c
write mem1
drop
if w == nothing:
	c:
	if e != nothing:
		step e
		mem1 = calc mem1 + c
		jump c
	endif
	mem1 = calc mem1 / 49
	d:
	if w != nothing:
		pickup c
		write mem1
		drop
		step w
		jump d
	else:
		pickup c
		write mem1
		drop
	endif
	step s
	tell everyone coffeetime
else:
	step n
	listenfor coffeetime
	step s
	mem1 = set c
	e:
	step s
endif
pickup c
write mem1
drop
jump e

55
#

-- 7 Billion Humans (2235) --
-- 55: 数据之花 --

pickup s
a:
step n
if n != datacube or
 s != datacube:
	jump a
endif
mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
	mem2 = calc mem2 + mem1
endfor
write mem2
drop

56
#

-- 7 Billion Humans (2235) --
-- 56: 局部最大值 --

mem3 = nearest shredder
step w
step w
mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
	if mem1 > mem2:
		mem2 = set mem1
	endif
endfor
pickup mem2
giveto mem3

57
#

-- 7 Billion Humans (2235) --
-- 57: 扫雷邻居 --

if e == wall:
	mem3 = set 1
endif
a:
if mem3 == 1:
	step w
else:
	step e
endif
if c == datacube:
	mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
		if mem1 == datacube:
			mem2 = calc mem2 + 1
		endif
	endfor
	pickup c
	write mem2
	drop
	mem2 = set 0
endif
jump a

58
#

-- 7 Billion Humans (2235) --
-- 58: 好邻居 --

a:
step nw,w,sw,n,s,ne,e,se
mem2 = foreachdir nw,w,sw,n,s,ne,e,se:
	if mem2 == datacube:
		mem3 = calc mem3 + 1
	endif
endfor
if mem3 > 3:
	pickup c
endif
mem3 = set 0
step nw,w,sw,n,s,ne,e,se
drop
jump a

58-1
#

-- 7 Billion Humans (2235) --
-- 58: 好邻居 --

a:
mem1 = nearest datacube
step mem1
if w != wall and
 n != wall and
 s != wall and
 e != wall:
	pickup c
	mem2 = nearest wall
	step mem2
	b:
	c:
	d:
	e:
	if c != nothing:
		if w == wall and
		 s != wall:
			step s
			jump b
		endif
		if s == wall and
		 e != wall:
			step e
			jump c
		endif
		if e == wall and
		 n != wall:
			step n
			jump d
		endif
		if n == wall and
		 w != wall:
			step w
			jump e
		endif
	endif
	drop
endif
mem3 = foreachdir nw,w,sw,n,s,ne,e,se:
	step nw,w,sw,n,s,ne,e,se
endfor
jump a

59
#

-- 7 Billion Humans (2235) --
-- 59: 荣耀洞穴 --

mem1 = nearest datacube
mem3 = calc mem1 + 1
a:
mem3 = calc mem3 - 1
mem2 = foreachdir nw,w,sw,n,s,ne,e,se:
	if mem3 == 0 and
	 mem2 == hole or
	 mem2 == mem3:
		step mem2
		jump a
	endif
endfor

59-1
#

-- 7 Billion Humans (2235) --
-- 59: 荣耀洞穴 --

if w == 12 or
 w == 11 or
 w == 10:
	step sw
	a:
	b:
	if w != hole:
		step s
		jump b
	endif
	step sw
	c:
	step w
	d:
	step nw
	step w
	jump d
endif
if s == 11 and
 w == hole:
	step se
	step se
	step s
	step sw
	jump c
endif
if s == 11:
	step se
	step s
	jump a
endif
if e == 2:
	step e
	step e
	if s == 1:
		step s
	endif
	if n == 1:
		step n
	endif
	mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
		if mem1 == hole:
			step mem1
		endif
	endfor
endif
if n == wall:
	e:
	if w == hole:
		f:
		step s
		jump f
	else:
		step w
		jump e
	endif
endif
step n
step n
if se == 3:
	g:
	step ne
	jump g
endif
h:
if w != nothing:
	step w
	jump h
endif
step n
step n
step n
step ne

60
#

-- 7 Billion Humans (2235) --
-- 60: 排序人手紧缺 --

a:
step w,e
if s > se and
 w != worker and
 sw != worker and
 e != worker and
 se != worker:
	pickup s
	drop
	step s
	pickup e
	drop
	step e
	pickup nw
	drop
	step n
endif
jump a

60-1
#

-- 7 Billion Humans (2235) --
-- 60: 排序人手紧缺 --

if e == worker:
	step w
	step w
endif
a:
b:
if s > se and
 w != worker and
 sw != worker and
 s == datacube and
 se == datacube:
	pickup s
	drop
	step s
	pickup e
	drop
	step e
	pickup nw
	drop
	step n
	jump b
endif
if e != wall:
	step e
else:
	c:
	if w != wall:
		step w
		jump c
	endif
endif
jump a

61
#

-- 7 Billion Humans (2235) --
-- 61: 懒惰路径 --

a:
mem1 = calc c + 1
step nw,w,sw,n,s,ne,e,se
if c > mem1 and
 mem1 != 1:
	pickup c
	write mem1
	drop
endif
jump a

61-1
#

-- 7 Billion Humans (2235) --
-- 61: 懒惰路径 --

mem4 = foreachdir nw,w,sw,n,s,ne,e,se:
	step nw,w,sw
endfor
a:
if mem4 == datacube:
	step mem4
else:
	step nw,w,sw,n,s,ne,e,se
endif
mem1 = set c
mem2 = calc mem1 + 1
mem4 = set nothing
mem3 = foreachdir nw,w,sw,n,s,ne,e,se:
	if mem2 < mem3 and
	 mem2 != 1:
		mem4 = set mem3
		pickup mem3
		write mem2
		drop
		step mem1
	endif
endfor
jump a

62
#

-- 7 Billion Humans (2235) --
-- 62: 排序楼层 --

step ne
step n
step nw
a:
mem1 = foreachdir w,n,s,e:
	step mem1
	if e == worker:
		if e < c:
			pickup e
		else:
			pickup c
		endif
	else:
		if w > c:
			pickup w
		else:
			pickup c
		endif
	endif
	drop
	if e == worker:
		if w == hole:
			if s == worker:
				listenfor ready
			else:
				listenfor go
				if myitem == datacube:
					drop
				endif
				tell e ready
				tell n ready
			endif
		endif
	else:
		if w == datacube and
		 e == datacube:
			if s == worker:
				if sw < e:
					pickup sw
					step e
					drop
					step w
				endif
				listenfor ready
			else:
				if w < ne:
					pickup ne
					giveto w
				endif
				tell w go
				listenfor ready
				tell n ready
			endif
		endif
	endif
endfor
jump a

63
#

-- 7 Billion Humans (2235) --
-- 63: 乱序整理 --

a:
if w == hole:
	step s
endif
mem1 = nearest datacube
pickup mem1
b:
if n != hole:
	step n
	jump b
endif
c:
if c == nothing:
	drop
	mem4 = calc mem4 + 1
	if mem4 == 3:
		end
	endif
else:
	if e != hole:
		step e
	else:
		step s
		d:
		if w != hole:
			step w
			jump d
		endif
	endif
	jump c
endif
mem2 = foreachdir nw,sw,ne,se:
	step s
endfor
jump a

64
#

-- 7 Billion Humans (2235) --
-- 64: 二进制计数器 --

step s
pickup c
step s
if nw == worker:
	a:
	tell nw coffeetime
	step n
	listenfor ugh
	step s
	jump a
endif
b:
listenfor coffeetime
if myitem == datacube:
	tell everyone ugh
	drop
else:
	tell w coffeetime
	pickup c
endif
jump b

65
#

-- 7 Billion Humans (2235) --
-- 65: 有序整理 --

if w == nothing and
 e == nothing:
	a:
	if n != hole:
		step n
		jump a
	endif
	b:
	c:
	if w != hole:
		step w
		jump c
	endif
	d:
	if myitem == datacube and
	 c == nothing:
		drop
	endif
	if w == nothing and
	 c == datacube and
	 myitem == nothing or
	 ne == nothing and
	 c == datacube and
	 myitem == nothing:
		pickup c
		step mem1
	endif
	if e != hole:
		if e == nothing and
		 c == datacube:
			mem1 = set c
		endif
		step e
		jump d
	endif
	step sw
	jump b
endif

65-1
#

-- 7 Billion Humans (2235) --
-- 65: 有序整理 --

if w == worker or
 e == worker:
	step w
endif
step nw
mem1 = foreachdir nw,sw,n,s,ne,se:
	step n
endfor
if c == nothing:
	pickup e
	drop
endif
mem2 = set c
a:
mem1 = set c
b:
if c == datacube and
 mem1 == nothing:
	pickup c
	step mem2
else:
	mem1 = set c
	if e != hole:
		step e
	else:
		step sw
		mem3 = foreachdir nw,w,sw,ne,e,se:
			step w
		endfor
	endif
	jump b
endif
c:
if c != nothing:
	if e != hole:
		step e
	else:
		step sw
		mem4 = foreachdir w,sw,n,s,ne,e:
			step w
		endfor
	endif
	jump c
endif
drop
mem2 = set c
jump a

66
#

-- 7 Billion Humans (2235) --
-- 66: 十进制计数器 --

step s
pickup c
if s == button:
	a:
	step s
	step n
	tell everyone ugh
	tell w hi
	listenfor ready
	jump a
endif
step s
mem1 = set myitem
b:
drop
mem1 = calc mem1 + 1
listenfor hi
pickup c
if mem1 == 10:
	tell w hi
	mem1 = set 0
	write mem1
else:
	write mem1
	tell everyone ready
endif
jump b

67
#

-- 7 Billion Humans (2235) --
-- 67: 十进制翻倍器 --

step s
if c == datacube:
	pickup c
	step s
	a:
	tell everyone coffeetime
	drop
	mem1 = calc c x 2
	if e >= 5:
		mem1 = calc mem1 + 1
	else:
		mem1 = calc mem1 + 0
	endif
	if mem1 >= 10:
		mem1 = calc mem1 - 10
	else:
		mem1 = calc mem1 - 0
	endif
	pickup c
	write mem1
	jump a
endif
b:
listenfor coffeetime
step s
step n
jump b

68
#

-- 7 Billion Humans (2235) --
-- 68: 再见,人类! --

if w == wall:
	step se
endif
mem1 = foreachdir nw,n,ne:
	step s
endfor
a:
mem1 = nearest worker
if mem1 != worker:
	tell everyone goodbye
endif
step sw,s,se
jump a

参考网址
#

收款码