-- 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
-- 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
-- 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:
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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
-- 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