70亿人攻略大全 七十亿人全关卡双星代码通关攻
[来源:未知 作者:永春小孩 发表时间:2021-06-21 11:32 阅读次数:]
70亿人是一款逻辑编程游戏,玩家们需要使用代码来安排员工们工作喔,很多玩家可能想知道70亿人攻略大全、七十亿人全关卡双星通关攻略呢,酷987游戏网为大家带来了介绍。 【通关原则】 ·指令数量挑战: 规则:使用的代码行数少于系统规定的行数 代码尽量复用就不说了,是程序员都懂,只针对游戏本身的规则注意以下原则 1.选取简单的方案,尽量通过重复简单动作达成 2.不要追求代码优雅,比如确保工人不死或所有动作完成后工人动作结束,除非工人乱动会影响后续结果 3.如果必要,不写判断。 比如拿起一个方块之前如果不判断手中无方块并且地上有方块,工人就会报一个错误,这会增加执行时间。即使因此导致某些情况下代码执行超时也无所谓,反正有任意一次能执行成功就可以了 ·速度挑战: 规则:在一倍速下运行所需要的真实时间。由于有些关卡存在随机数和随机行走问题导致时间不确定,取25次的平均值。 1.可以选取稍微复杂但更有效率的方案,比如需要多人配合的。但不要追求复杂。很多情况下简单的也是有效的。 2.如无必要,不做判断。判断也需要时间,尤其是需要与周围进行对比的。 如果需要根据不同的初始位置执行不同的动作,那么最好在一开始就做好判断,而不要在不断的问“我是谁?”的过程中耗尽时间 3.一切为了效率,即使偶尔会执行失败,只要平均时间短就足够了 【名词解释】 为方便书写和避免歧义,以下代码采用C语言语法书写,一句代码一行,结尾不写分号 对于游戏中自定义物体和函数,将用代码代替,代码中将不会出现中文 以英文版游戏中的命名方式为基础全部做了简化处理 反正你也没法把这些代码直接粘到游戏里去,能看懂就行了 命名方式如下 【方位和物体】 上→n //short for ‘north’ 下→s //short for ‘south’ 左→w //short for ‘west’ 右→e //short for ‘east’ 中→c //short for ‘center’ 左上→nw 左下→sw 右上→ne 右下→se 任意方向→anyDir 我的物件→myItem 某个东西→something //完全等同于非空,是个多余的东西,以下代码绝对不会用到 无→null 一个数据方块→dataCube 一名工人→worker 一个洞→hole 一堵墙→wall 粉碎机→shredder 打印机→printer 记忆体1→mem1 记忆体2→mem2 记忆体3→mem3 记忆体4→mem4 【命令】 行走→step+方向 拿起→pickUp 放下→drop 写下→write 给出→giveTo 拿取→takeFrom 最接近的→nearest 计算→= 设置为→= 如果→if 否则→else 结束如果→endif 跳转→goto 跳转到→loop 举例: loop 1 goto 1 //注意数字是一一对应的,涉及到多个跳转的时候要看好 //以下代码涉及到的跳转一定是大跳转包含小跳转,不存在交叉跳转的情况 //如果出现此情况,说明抄代码的时候抄窜行了 终止→end //基本上是个鸡肋,以下基本不会用到此命令(有个别极特殊情况不得不用) //我一直认为好的程序完全可以用if保证程序进入正确的分支,而不使用end //end除了让可读性变差,让人摸不清思路,没有什么好的作用 巡视→forEachDir as 巡视结束→endForEach 告诉→tell 聆听→listen 【比较和赋值】 = →等号右边的值给左边 == →相等 != →不等 > →大于 >= →大于或等于 < →小于 <= →小于或等于 and→和 or →或 【计算】 加法→+ 减法→- 乘法→* 除法→/ 【其他说明】 // →注释符,表示此行文字是写给玩家看的,不执行 关于行数计算,成对出现的如goto和loop,算做一行,if和endif算做一行 但如果出现else则单独算一行 【通关代码】 //不知道制作团队怎么考虑的,分支关卡编号不连续 //为了读者找起来方便,以下关卡顺序依然按照编号顺序,而不按分支顺序 //以下代码全部经过测试,但因为是手打,不保证没有错漏,仅供参考 1.你被录用了 //过场动画 第 2 页 70亿人第2关怎么过 第二关欢迎新员工双星代码攻略 2.欢迎新员工 //指令数量挑战 and 速度挑战 //3行 1s //前几关的pickUp都不带方向参数,等同于后面的pickUp c step s pickUp drop 第 3 页 70亿人第3关怎么过 第三关运输小队双星代码攻略 3.运输小队 //指令数量挑战 and 速度挑战 //5行 2s step s pickUp step s step s drop 第 4 页 70亿人第4关怎么过 第四关长途运输双星代码攻略 4.长途运输 //指令数量挑战 and 速度挑战 //4行6s step e pickUp loop 1 step e goto 1 第 5 页 70亿人第5关怎么过 第五关重要的抉择双星代码攻略 5.重要的抉择 //指令数量挑战 and 速度挑战 //5行 2s if w==dataCube loop 1 step w goto 1 endif loop 2 step e goto 2 第 6 页 70亿人第6关怎么过 第六关小小驱虫工1双星代码攻略 6.小小驱虫工1 //指令数量挑战 and 速度挑战 //9行 3s step s step sw step sw step se step e step se step s step s pickUp 第 7 页 70亿人第7关怎么过 第七关整理房间双星代码攻略 7.整理房间 //指令数量挑战 //5行 14s loop 1 if s!=hole pickUp s step s goto 1 endif drop //速度挑战 //9行 5s step s loop 1 step s if s!=dataCube goto 1 pickUp s loop 2 step s if s!=hole goto 2 drop 8.员工激励大师 //过场动画 第 8 页 70亿人第9关怎么过 第九关对角巷双星代码攻略 9.对角巷 //指令数量挑战 and 速度挑战 //5行 5s pickUp s loop 1 step s if nw!=dataCube goto 1 drop //速度挑战 //26行 3s if se != dataCube pickUp s step s step s step s step s else if se != dataCube pickUp s step s step s step s else if se != dataCube pickUp s step s step s else if se != dataCube pickUp s step s else pickUp s endif endif endif endif step s step s drop 第 9 页 70亿人第10关怎么过 第十关疏散演习双星代码攻略 10.疏散演习 //10关之前都是教学关,比较简单。10关开始代码变得复杂起来 //指令数量挑战 //9行 loop 1 if c==1 step n endif if c==2 step e endif if c==3 step s endif if c==4 or c==null step w endif goto 1 //速度挑战 //27行 14s //这里有个技巧,或者说可以利用的规则: //行走的时候如果前面是个工人,则会等待; //如果前面是个洞,当然会掉下去 //而如果前面是墙壁、打印机、粉碎机之类无法行走又无法掉落的物体,则会自动结束行走 //如此一来,如果想让许多人走同样的路线,可以让他们先向某个角落集合 //如果碰到墙壁,自动会停止 //所有人先在右下角集合,这样不管原来在哪里,现在都在右下角了 step e step e step e step e step s step s step s step s //然后按照右下角的路径,直接走到目的地,无需做任何一个判断 step w step w step w step w step w step nw step nw step sw step s step sw step w step w step w step nw step n step n step nw step n step n 第 10 页 70亿人第11关怎么过 第十一关注入数据1双星代码攻略 11.注入数据1 //指令数量挑战 //5行 10s pickUp s loop 1 step s if c==dataCube or w!=dataCube goto 1 endif drop //速度挑战 //8行 6s pickUp s step s step s //提前走两步 loop 1 step s step s //每次走2步 if c==dataCube or w!=dataCube goto 1 endif drop 第 11 页 70亿人第12关怎么过 第十二关拉开拉链双星代码攻略 12.拉开拉链 //指令数量挑战 and速度挑战 //8行 4s pickUp c loop 1 if w==wall or sw==worker or se==worker step n drop endif if e==wall or nw==worker or ne==worker //两头同时拉开 step s drop endif goto 1 第 12 页 70亿人第13关怎么过 第十三关注入数据2双星代码攻略 13.注入数据2 //指令数量挑战 and速度挑战 //7行 15s pickUp s loop 1 goto s if n==dataCube and se==null or w==worker step e endif if w!=dataCube or c!=null goto 1 endif drop 第 13 页 70亿人第14关怎么过 第十四关粉碎机入门双星代码攻略 14.粉碎机入门 //指令数量挑战 //4行 4s pickUp s step s step s giveTo s //速度挑战 //5行 2s if s==dataCube //员工自·杀太浪费时间,加个判断就好了 pickUp s step s step s giveTo s endif 第 14 页 70亿人第15关怎么过 第十五关粉碎流水线双星代码攻略 15.粉碎流水线 //指令数量挑战 and速度挑战 //9行 23s loop 1 loop 2 step n if n==null goto 2 endif pickUp n loop 3 step s if s!=shredder goto 3 endif giveTo s goto 1 第 15 页 70亿人第16关怎么过 第十六关小小驱虫工2双星代码攻略 16.小小驱虫工2 //指令数量挑战 //8行 12s loop 1 step s if c!=dataCube goto 1 endif pickUp c loop 2 step e if s== shredder giveTo s endif goto 2 //速度挑战 //14行 8s step s step s step s loop 1 step s if c!=dataCube goto 1 endif pickUp c step e step e step e step e step s step e give to e 第 16 页 70亿人第17关怎么过 第十七关内容产出双星代码攻略 17.内容产出 //指令数量挑战 and速度挑战 //1行 2s pickUp s 第 17 页 70亿人第18关怎么过 第十八关独特偏爱双星代码攻略 18.独特偏爱 //指令数量挑战 and速度挑战 //6行 12s pickUp w step sw loop 1 if s!= shredder step se goto 1 endif giveTo s //速度挑战 //12行 7s pickUp w step sw step se step se step se step se step se step se step se step se step se giveTo s 第 18 页 70亿人第19关怎么过 第十九关内容产出问题修复攻略 19. 内容产出-问题修复 //指令数量挑战 and速度挑战 //4行 26s step e loop 1 takeFrom sw giveTo se goto 1 第 19 页 70亿人第20关怎么过 第二十关反转流水线双星代码攻略 20. 反转流水线 //指令数量挑战 and速度挑战 //9行 11s pickUp s loop 1 if sw!=hole step w goto 1 endif step s loop 2 if e!=hole and e!=dataCube step e goto 2 endif drop //最快速度 //58行 4s //由于需要做许多嵌套判断,为了书写方便,也为了读者不会将不同的if看窜行 //这里将不同的分支用不同的if括起来,并使用end指令直接终止 //而不把后续代码写进else里 if sw!=dataCube or se!=dataCube //两侧的最先走 pickUp s if sw==hole step se //避免路线交叉,靠墙走 step se step e step e step e step e step ne else step sw step sw step w step w step w step w step nw endif drop end endif if sw!=dataCube or se!=dataCube //第二位再走 pickUp s if e==worker step s //避免路线交叉,靠墙走 step se step e step e step e step ne else step s step sw step w step w step w step nw endif drop end endif if sw!=dataCube or se!=dataCube //第三位 if w==worker pickUp s //这里要先判断再拿起,否则周围人都走光了没法知道自己是谁 step e //直接走最短路线 step e step se else pickUp s step w step w step sw endif drop end endif step s//最中间直接走 if e==dataCube pickUp e drop end endif pickUp w drop 第 20 页 70亿人第21关怎么过 第二十一关大数据双星代码攻略 21. 大数据 //指令数量挑战 and速度挑战 //8行 26-27s loop 1 if myItem!=dataCube and s!=printer step s goto 1 endif loop 2 takeFrom s if myItem<50 giveTo sw step e goto 2 endif //速度挑战 //10行 22-24s step s step s step s step s loop 1 takeFrom s step w if myItem<50 giveTo s step e goto 1 endif 第 21 页 70亿人第22关怎么过 第二十二关数字大逃杀双星代码攻略 22. 数字大逃杀 //指令数量挑战 and速度挑战 //6行 9s pickUp s loop 1 if myItem<e or myItem<w loop2 step s goto2 endif step e goto 1 第 22 页 70亿人第23关怎么过 第二十三关排序大厅双星代码攻略 23. 排序大厅 //指令数量挑战 and速度挑战 //6行 24s pickUp s loop 1 if myItem>e step e endif if myItem<w step w endif goto 1 //速度挑战 //8行 17s //思路:如果一个工人向右走了,那么他就不可能立即又向左走 //大概率是继续向右走,或者暂时停下来 //所以分别做个循环,判断一下是否需要连续走,比每走一步都回头看,肯定是要快的 pickUp s loop 1 loop 2 if myItem>e step e goto 2 endif loop 3 if myItem<w step w goto 3 endif goto 1 第 23 页 70亿人第24关怎么过 第二十四关数据接力1双星代码攻略 24. 数据接力1 //指令数量挑战 //7行 87s loop 1 if s==printer and myItem!=dataCube takeFrom s endif if myItem!=dataCube and w>=0 takeFrom w endif if s==shredder and myItem==dataCube giveTo s endif goto 1 //速度挑战 //11行 49s //思路就是先判断下方是什么,然后单独做循环,避免不断的追问“我是谁” if s==printer loop 1 takeFrom s giveTo e goto 1 endif if s==shredder loop 2 if myItem==dataCube giveTo s endif goto 2 loop 3 if myItem==dataCube giveTo e endif goto3 第 24 页 70亿人第25关怎么过 第二十五关记忆初体验双星代码攻略 25. 记忆初体验 //指令数量挑战 //5行 139s mem4= nearest shredder loop 1 mem1= nearest dataCube pickUp mem1 giveTo mem4 goto 1 //速度挑战 //6行 132s mem4= nearest shredder loop 1 mem1= nearest dataCube pickUp mem1 if myItem==dataCube//加个判断,避免工人自·杀,自·杀太耗费时间 giveTo mem4 goto 1 endif 第 25 页 70亿人第26关怎么过 第二十六关数据接力2双星代码攻略 26. 数据接力2 //指令数量挑战 //9行 116s loop 1 if s==printer or s>=0 takeFrom s endif if e<50 and myItem!=dataCube takeFrom e endif if w>=50 and myItem!=dataCube takeFrom w endif if s==shredder and myItem==dataCube giveTo s endif goto 1 //速度挑战 //23行 67s //思路跟接力1一样,每个角色只关心自己的事情,不要为别人的事情操心 if s==printer loop 1 takeFrom s giveTo n goto 1 endif if nw==worker and ne==worker loop 2 if myItem<50 giveTo nw endif if myItem>=50 giveTo ne endif goto2 endif if s==shredder loop 3 if myItem==dataCube giveTo s endif goto3 endif loop 4 if myItem<50 giveTo w endif if myItem>=50 giveTo e endif goto 4 27. 健身计划 //过场动画 第 26 页 70亿人第28关怎么过 第二十八关神经回路双星代码攻略 28. 神经回路 //指令数量挑战 and速度挑战 //4行 51s mem1= nearest dataCube mem2= nearest shredder pickUp mem1 giveTo mem2 第 27 页 70亿人第29关怎么过 第二十九关指纹认证双星代码攻略 29. 指纹认证 //指令数量挑战 and速度挑战 //5行 60s mem2= nearest shredder loop 1 mem1= nearest dataCube pickUp mem1 giveTo mem2 goto 1 第 28 页 70亿人第30关怎么过 第三十关铺满地面双星代码攻略 30. 铺满地面 //指令数量挑战 //5行 864s (≈+∞) men1=printer loop 1 takeFrom mem1 step anyDir drop goto 1 //速度挑战 //16行 156-170s //把路径写死绝对比随机走要快,但是代码也会超过100行,这里就不放出了 mem1= nearest printer mem2= nearest wall if e==wall and s==wall//最·右下角的工人单独控制,优先填满右下角最难进入的区域 loop 1 takeFrom mem1 step mem2 loop 2 step anyDir if c==dataCube goto 2 endif drop goto 1 endif loop 3 takeFrom mem1 loop 4 step anyDir if c==dataCube goto 4 endif drop goto 3 第 29 页 70亿人第31关怎么过 第三十一关星罗棋布双星代码攻略 31. 星罗棋布 //指令数量挑战 //7行 265s mem1= nearest printer loop 1 takeFrom mem1 mem2= nearest dataCube step mem2 step sw,se,nw,ne //顺着斜线方向行走 drop goto 1 //速度挑战 //22行 83s //找个人先去放左下角最难去到的2个格子 //这里找的是右下角的人,找其他人也一样 mem1= nearest printer if se==hole takeFrom mem1 step sw step sw step sw step sw drop takeFrom mem1 step sw step sw step sw step s drop endif loop 2 takeFrom mem1 mem2= nearest dataCube step mem2 loop 3 step sw,se,nw,ne if c==dataCube//加个判断,避免报错,报错会浪费时间 goto 3 endif drop goto 2 第 30 页 70亿人第32关怎么过 第三十二关创造性扭动双星代码攻略 32.创造性扭动 //指令数量挑战 //6行 265s //随机走动,时间很长 loop 1 step anyDir if c==0 pickUp c write 99 drop endif goto 1 //速度挑战 //11行 39s //顺着方块走,一步不浪费 loop 1 if w==0 or e==0 if w==0 step w else step e endif else step s endif pickUp c write 99 drop goto 1 第 31 页 70亿人第33关怎么过 第三十三关资料备份日双星代码攻略 33.资料备份日 //指令数量挑战 and速度挑战 //8行 3s mem1=w mem2=e if mem1>mem2 mem1=e mem2=w endif pickUp mem2 write mem1 drop //速度挑战 //9行 2s mem1=w mem2=e if mem1>mem2 mem3=mem1 //内存操作比从外部获得数据要快 mem1=mem2 mem2=mem3 endif pickUp mem2 write mem1 drop 第 32 页 70亿人第34关怎么过 第三十四关查找并摧毁双星代码攻略 34.查找并摧毁 //指令数量挑战 //9行 22s mem1= nearest shredder mem2=99 loop 1 step n if c<=mem2 mem2=c endif if n!=wall goto 1 endif pickUp mem2 giveTo mem1 //速度挑战 //11行 20s mem1= nearest shredder mem2=99 step n step n//先走两步能省很多时间 loop 1 step n if c<=mem2 mem2=c endif if n!=wall goto 1 endif pickUp mem2 giveTo mem1 第 33 页 70亿人第35关怎么过 面向艺术生的计算器入门攻略 35.面向艺术生的计算器入门 //指令数量挑战 and速度挑战 //4行 3s //这里要先拿起再计算,而不要先用地上的数字进行计算 //因为获取手中的数字比获取地上的数字要快 pickUp s mem1=myItem+1 write mem1 drop 第 34 页 70亿人第36关怎么过 第三十六关查找并摧毁2攻略 36.查找并摧毁2 //指令数量挑战 //10行 151s mem1= nearest shredder loop 1 mem2=99 loop 2 step n if c<=mem2 mem2=c endif if n!=wall goto 2 endif pickUp mem2 giveTo mem1 goto 1 //速度挑战 //13行 140-141s mem1= nearest shredder loop 1 mem2=99 step n //先走一步省时间 loop 2 loop 3 step n if c!=dataCube and n!=wall goto 3 endif if n!=wall if c<=mem2 mem2=c endif goto 2 endif pickUp mem2 giveTo mem1 goto 1 第 35 页 70亿人第37关怎么过 第三十七关危险的电子表格攻略 37.危险的电子表格 //指令数量挑战 //13行 34s loop 1 step e mem1=mem1+c if e==hole step se if ne==hole step e endif step ne endif if e!=wall goto 1 endif pickUp c write mem1 drop //速度挑战 //14行 32s loop 1 step e if c>0 //只加一句判断就可以省去对0和空地做加法所浪费的时间 mem1=mem1+c endif if e==hole step se if ne==hole step e endif step ne endif if e!=wall goto 1 endif pickUp c write mem1 drop 第 36 页 70亿人第38关怎么过 第三十八关查找并摧毁3攻略 38.查找并摧毁3 //指令数量挑战 and速度挑战 //18行 33s mem1=99 mem3= nearest shredder mem4= nearest hole //集体向上走,并找到各自列的最小值 loop 1 step n if c==dataCube and mem1>=c mem1=c endif if n==dataCube goto 1 endif mem2= nearest wall pickUp mem1 step mem2 //在上面墙集合,去除大数。跟数字大逃杀那关的逻辑一样 //注意不要在下面墙集合,会造成拥堵,互相锁死路径 //存在其他方式去除大值,但亲测都不稳定,有概率造成死锁,虽然时间可能更短 loop 2 if myItem>=w or myItem>e //一面带等号,一面不带,如果有两个数字相同则只死一个 step mem4 endif mem2= nearest worker if mem2==worker //判断一下除了自己之外还有没有活人 goto 2 endif giveTo mem3 第 37 页 70亿人第39关怎么过 第三十九关打印守则1双星代码攻略 39.打印守则1 //指令数量挑战 and速度挑战 //9行 50s mem1= nearest printer loop 1 takeFrom mem1 loop 2 step anyDir //注意这里,取到方块后马上走开,不要先计算,否则会堵住别人 if c==dataCube goto 2 endif drop mem2=mem2+1 //放下后没事了再计算 if mem2<5 goto 1 endif //如果用写死路径代替随机走动,最快可达41秒,但代码量要增大许多倍 第 38 页 70亿人第40关怎么过 第四十关打印守则2双星代码攻略 40.打印守则2 //指令数量挑战 and速度挑战 //10行 55s mem1= nearest printer loop 1 takeFrom mem1 loop 2 step anyDir if c==dataCube goto 2 endif drop mem2=mem2+1 write mem2 //这关代码跟上一关几乎一模一样,只是多了个写入 if mem2<5 goto 1 endif //如果用写死路径代替随机走动,最快可达42秒,但代码量要增大许多倍 第 39 页 70亿人第41关怎么过 第四十一关图片解密双星代码攻略 41.图片解密 //指令数量挑战 //8行 32s mem4= nearest hole pickUp w loop 1 step w if mem1<myItem mem1=mem1+1 goto 1 endif goto 1 drop step mem4 //这里有个技巧,mem1没赋值就可以直接进行比较,它初始值是0 //不过要先把赋值写到后面,再写前面的判断,否则判断里面下拉列表没有mem1这一项 //速度挑战 //27行 9s //我也不想写这么多代码的,但是走一步计算一下实在太慢 //计算和写入最慢,其次是判断周围环境,判断记忆体和手上的方块最快 mem4= nearest hole pickUp w step w step w //由于所有方块中没有2,这里省略了一次判断,直接从3开始。 //当然如果你想写>=3也是可以的,我是用手机玩的,为了少点一次屏幕 if myItem>2 step w step w endif if myItem>3 step w endif if myItem>4 step w endif if myItem>5 step w endif if myItem>6 step w endif if myItem>7 step w endif if myItem>8 step w endif if myItem>9 step w endif if myItem>10 step w endif if myItem>11 step w endif drop step mem4 第 40 页 70亿人第42关怎么过 第四十二关整理邮件双星代码攻略 42.整理邮件 //指令数量挑战 //18行 220s mem3= nearest wall loop 1 loop 2 step mem3 mem1= nearest dataCube step mem1 if s==shredder or c!=dataCube goto 2 endif pickUp c mem2=myItem/10 mem4= nearest shredder step mem4 loop 3 if mem2!=c if mem2>c step e else step w endif goto 3 endif giveTo s goto 1 //速度挑战 //50行 143s mem3= nearest wall loop 1 loop 2 step mem3 mem1= nearest dataCube step mem1 if s==shredder or c!=dataCube goto 2 endif pickUp c //注意这里用if代替除以10的计算,要快很多 //二分法做判断,减少判断次数 if myItem>=50 if myItem>=80 if myItem>=90 mem2=9 else mem2=8 endif else if myItem>=60 if myItem>=70 mem2=7 else mem2=6 endif else mem2=5 endif endif else if myItem>=20 if myItem>=30 if myItem>=40 mem2=4 else mem2=3 endif else mem2=2 endif else if myItem>=10 mem2=1 else mem2=0 endif endif endif mem4= nearest shredder step mem4 if mem2>c //确定方向就闷头往一个方向走,不要左顾右盼 loop 3 if mem2 >c step e goto 3 endif endif if mem2< c //另一个方向也一样 loop 4 if mem2<c step w goto 4 endif endif giveTo s step n //这里向上走5步而不是一直走到墙壁,能省一步是一步。浪费代码但是节约时间 step n step n step n step n goto 1 第 41 页 70亿人第43关怎么过 第四十三关九九乘法表双星代码攻略 43.九九乘法表 //指令数量挑战 & 速度挑战 //10行 50s //每个人在哪一行是比较容易计算的,但是在哪一列却不知道,除非先走到最上面 loop 1 if n==0 or n==null step n goto 1 endif mem1=n loop 2 step s mem2=mem1+mem2 //只做加法,不做乘法,节省时间 pickUp c write mem2 drop goto 2 //速度挑战 //26行 42s //先向上走13步,直接到头 step n step n step n step n step n step n step n step n step n step n step n step n step n mem=c mem2=mem1 step s step s pickUp c write mem1 //第一次别计算,直接写 drop loop 1 //循环计算写入。 step s mem2=mem1+mem2 //这里如果不用加法,改用if判断肯定可以更快,但代码实在需要太多 pickUp c write mem2 drop goto 1 第 42 页 70亿人第44关怎么过 第四十四关独特的时髦派对攻略 44.独特的时髦派对 //指令数量挑战 and速度挑战 //6行 63s //这是贴吧里高人留下的代码,但是不能很好的执行,会偶尔出错 //由于是完全随机行走,会有三个工人互相死锁,或者两个同号同时自·杀的情况 //但是总体还是不错的,出错概率不高,而且执行速度非常快,最重要是代码短 //靠这个通关没有问题,如果没有强迫症的话这样就足够了 mem1= nearest hole pickUp s loop 1 step n,nw,w,sw,e //随机但避免向右下方走 if myItem==n or myItem==nw or myItem==w step mem1 endif goto 1 //以下是我自己写的 //指令数量挑战 //11行 246s pickUp s loop 1 if s!=wall //先向下走到墙壁 step s goto 1 endif loop 2 if myItem<e or e==null //冒泡排序 step e endif if myItem>w step w endif if s==hole and myItem==w //相等则自·杀 step s endif goto 2 //速度挑战 //43行 24s //拿起,向右走9步,靠墙 pickUp s step e step e step e step e step e step e step e step e //向下走9步 step s step s step s step s step s step s step s step s step s //右走4步 step e step e step e step e //开始分列,一共7个数,7列,正好 if myItem>0 step e endif if myItem>1 step e endif if myItem>2 step e endif if myItem>3 step e endif if myItem>4 step e endif if myItem>5 step e endif //各站一列之后向上走5步,到洞边上 step n step n step n step n step n //如果身后有人,跳下去 loop 1 if s==worker step n endif goto 1 45.夜班至黎明 //过场动画 第 43 页 70亿人第46关怎么过 第四十六关强制办公室恋情攻略 46.强制办公室恋情 //指令数量挑战 and速度挑战 //7行 11s if w==null loop 1 tell e ‘Hi!’ listen ‘Hi!’ endif loop 2 listen ‘Hi!’ tell w ‘Hi!’ goto 2 第 44 页 70亿人第47关怎么过 第四十七关全自动寒暄双星代码攻略 47.全自动寒暄 //指令数量挑战 and速度挑战 //3行 7s if w!=null listen ‘Morning!’ endif tell e ‘Morning!’ 第 45 页 70亿人第48关怎么过 第四十八关社群培训日双星代码攻略 48.社群培训日 //指令数量挑战 and速度挑战 //6行 7s if n!=wall listen ‘Start!’ endif takeFrom s mem1= nearest shredder giveTo mem1 tell all ‘Start!’ 第 46 页 70亿人第49关怎么过 第四十九关双向销毁双星代码攻略 49.双向销毁 //指令数量挑战 and速度挑战 //6行 14s //注意要求,只要求左右间隔开,并没有要求左边销毁前右边不许动 //这里如果用聆听很耽误时间,是绝对完不成任务的 //注意到粉碎机只有1个,工人有8个,不对称,左右一起行动的时候永远是左边的人先到 mem1= nearest shredder pickUp s loop 1 if w==worker and e==worker //如果两边都有人,则一直等,等到一面没人了为止 goto 1 endif giveTo mem1 step e //这一步很关键,如果不跟右边的人交换位置,则后面的人会抢上来,顺序就乱了 第 47 页 70亿人第50关怎么过 第五十关无声交流双星代码攻略 50.无声交流 //指令数量挑战 and速度挑战 //8行 47s //说是无声交流,只是告诉你可以不使用聆听而完成任务 //用了聆听也可以的,但是代码会多很多 mem1=sw step e loop 1 if mem1==1 takeFrom sw giveTo se mem1=4 endif mem1=mem1-1 goto 1 第 48 页 70亿人第51关怎么过 第五十一关公司职级双星代码攻略 51.公司职级 //指令数量挑战 and速度挑战 //7行 26s step s pickUp c loop 1 mem1=mem1+1 if w==dataCube or w==null write mem1 drop endif goto 1 //速度挑战 //58行 6s if sw!=dataCube pickUp s write 1 step s drop end endif if sw!=dataCube pickUp s write 2 step s drop end endif if sw!=dataCube pickUp s write 3 step s drop end endif if sw!=dataCube pickUp s write 4 step s drop end endif if sw!=dataCube pickUp s write 5 step s drop end endif if sw!=dataCube pickUp s write 6 step s drop end endif if sw!=dataCube pickUp s write 7 step s drop end endif if sw!=dataCube pickUp s write 8 step s drop end endif if sw!=dataCube pickUp s write 9 step s drop end endif pickUp s write 10 step s drop 第 49 页 70亿人第52关怎么过 第五十二关统计众数双星代码攻略 52.统计众数 //指令数量挑战 //24行 226s //记录下当前位置并计算自己应该统计什么数字 mem4= nearest dataCube step nw loop 1 if nw==dataCube step w mem1=mem1+1 goto 1 endif loop 2 if mem3==1 step s else step n endif if c==mem1 and s!=dataCube goto 3 endif //这种向下的跳转真让人** //但是实在搞不懂这个游戏里和或的执行顺序 //又和又或的时候只能这么写 if n!=dataCube loop 3 step e mem3=1-mem3 //反转,1变0,0变1 if c==mem1 mem2=mem2+1 endif endif if e!=wall goto 2 endif pickUp mem4 write mem2 drop //速度挑战 //58行 143s //先快速判断自己是数字几 mem4=nearest dataCube if sw!=dataCube pickUp s mem1=0 else if sw!=dataCube pickUp s mem1=1 else if sw!=dataCube pickUp s mem1=2 else if sw!=dataCube pickUp s mem1=3 else if sw!=dataCube mem1=4 else mem1=5 endif pickUps endif endif endif endif //然后赶快放下 step s drop //走到起点 step nw step nw step w step w step w step w step w step w step ne loop 1 //大循环 if c==mem1 mem2=mem2+1 endif //向上走 loop 2 loop 3 step n if n==dataCube and c!=mem1 goto 3 endif if c==mem1 mem2=mem2+1 endif if n==dataCube goto 1 endif step e if c==mem1 mem2=mem2+1 endif //向下走 loop 4 loop 5 step s if s==dataCube and c!=mem1 goto 5 endif if c==mem1 mem2=mem2+1 endif if s==dataCube goto 4 endif if e==dataCube or s==dataCube step e goto 1 endif //结束,写下 pickUp mem4 write mem2 drop 第 50 页 70亿人第53关怎么过 地上的100个方块攻略 53.地上的100个方块 //指令数量挑战 //16行 110s //最上面的人先走,其他人跟随 loop 1 step w if c==dataCube pickUp c loop 2 if n==0 goto 2 endif if e==dataCube mem1=e+1 else if n==wall mem1=90 else mem1=n-10 endif endif write mem1 drop endif if w!=wall goto 1 endif //速度挑战 //23行 74s //上下两边的人先走,其他人跟随 loop 1 //一直走到一个数据方块上 if c!=dataCube step w goto1 endif loop 2 //如果上下都是0,原地等待 if n==0 and s==0 goto 2 pickUp c //靠墙的先走,其他人尾随 if n==wall mem1=99 endif if s==wall mem1=9 endif if n>0 mem1=n-10 endif if s>0 mem1=s+10 endif write mem1 drop loop 3 //走一步加1,一直到头 step w pickUp c mem1=mem1-1 write mem1 drop if w!=wall goto 3 endif //速度挑战 //37行 62s step e step e step e step w step w if c!=dataCube mem2=1 step w endif if mem2==1 loop 1 if nw==0 and sw==0 goto 1 endif step w if n>0 mem1=n+10 else mem1=s-10 endif else if n==wall or s==wall if n==wall mem1=0 else mem1=90 endif else if n==worker mem1=10 else mem1=80 endif endif endif pickUp c write mem1 drop loop 2 step w pickUp c mem1=mem1+1 write mem1 drop if w!=wall goto 2 endif 第 51 页 70亿人第54关怎么过 第五十四关平整地形双星代码攻略 54.平整地形 //指令数量挑战 and速度挑战 //26行 85s //前两步判断各加个跳转可以达到28行81s,代码不放出了 loop 1 step n if c==dataCube mem1=mem1+c endif if c!=dataCube or n==dataCube goto 1 endif pickUp c write mem1 drop step n loop 2 if c==dataCube mem2=mem2+c step e goto 2 endif loop 3 if sw==dataCube and s!=worker step s goto 3 endif mem3=mem2/49 loop 4 step w pickUp c write mem3 drop goto 4 第 52 页 70亿人第55关怎么过 第五十五关数据之花双星代码攻略 55.数据之花 //指令数量挑战 and速度挑战 //8行 24s pickUp s loop 1 step n if n!=dataCube and s!=dataCube goto 1 endif forEachDiras mem1 mem2=mem1+mem2 endForEach write mem2 drop 第 53 页 70亿人第56关怎么过 第五十六关局部最大值双星代码攻略 56.局部最大值 //指令数量挑战 and速度挑战 //8行 13s mem4= nearest shredder step w step w forEachDiras mem1 if mem1>mem2 mem2=mem1 endif endForEach pickUp mem2 giveTo mem4 第 54 页 70亿人第57关怎么过 第五十七关扫雷邻居双星代码攻略 57.扫雷邻居 //指令数量挑战 and速度挑战 //15行 96s //本关的提示是个坑,工人即使拿起方块,也可以比较大小,所以判断大于0就行了 if e==wall mem3=1 //判断应该往哪个方向走 endif loop 1 mem2=0 if mem3==0 //内存判断,速度很快,直接写成两个大循环并不能节省时间 step e else step w endif if c==dataCube forEachDiras mem1 if mem1>=0 mem2=mem2+1 endif endForEach endif pickUp c write mem2 drop goto 1 第 55 页 70亿人第58关怎么过 第五十八关好邻居双星代码攻略 58.好邻居 //指令数量挑战 & 速度挑战 //9行 148s //随机走动,大于3就拿起,小于3就放下,需要大量计算,时间很长 loop 1 step anyDir if c==dataCube and myItem!=dataCube if nw==dataCube or ne==dataCube orsw==dataCube or se==dataCube pickUp c write mem1 endif endif if c!=dataCube and myItem==dataCube and nw!=dataCube and ne!=dataCube and sw!=dataCubeand se!=dataCube drop endif goto 1 //速度挑战 //42行 91s //把中间的全部拿起沿墙放一圈 mem4= nearest wall loop 1 mem1= nearest dataCube step mem1 //如果在中间,拿起,然后走到墙边。否则重来 if n!=wall and s!=wall and w!=wall and e!=wall pickUp mem1 step mem4 loop 2 //沿墙壁逆时针走。为了减少不必要的判断,嵌套了好几层if…else,数清楚了别乱 if e==wall and n!=wall step n else if n==wall and w!=wall step w else if w==wall and s!=wall step s else step e endif endif endif if c==dataCube goto 2 endif drop endif //如果在上边或左边,去左上角 if n==wall or w==wall loop 3 if w!=wall step w goto 3 endif loop 4 if n!=wall step n goto 4 endif step se //走到中间 step se step se step se endif //如果在下边或右边,去右下角 if s==wall or e==wall loop 5 if e!=wall step e goto 5 endif loop 6 if s!=wall step s goto 6 endif step nw //走到中间 step nw step nw step nw endif goto 1 //回到最初的大循环 第 56 页 70亿人第59关怎么过 第五十九关荣耀洞穴双星代码攻略 59.荣耀洞穴 //指令数量挑战 //6行 98s loop 1 forEachDiras mem1 if c==null and mem1==dataCube step mem1 endif if mem1==hole and c==1 or mem1<c step mem1 endif endForEach goto 1 //速度挑战 //64行 10s if s<8 or w>8 //先处理最·右边离的最远的5个 if n==hole step e step e step e step sw step s step s else if s==hole step sw else step sw step s endif endif step sw step w step nw step nw step nw step nw step w step w step w else if s==wall //再处理最下面4个 if ne>5 step nw step nw step nw step nw step nw step n else step ne step ne step n step nw step nw step n endif else if w==wall //再处理左边靠墙3个 step e step e step e if s==1 step s endif if n==1 step n endif else if n==wall //再处理最上面5个 step sw step sw step s if w==1 step w endif if e==1 step e endif else //最后剩下孤零零一个 step ne step ne step n step n endif endif endif endif //最后把已经走到洞口附近的丢进去 mem1=nearest hole step mem1 第 57 页 70亿人第60关怎么过 第六十关排序人手紧缺攻略 60.排序人手紧缺 //指令数量挑战 and速度挑战 //12行 180s(因为要随机走动,有些看人品) //简单而且高效,至今没有发现更短的代码或更短的时间 loop 1 step w,e //向左右两边随机来回走 if sw>s //一定要保证四周没有别人才能动作,否则很容易互相冲突 and w!=worker and e!=worker and sw!=worker and se!=worker pickUp sw drop pickUp s step sw pickUp ne step e drop step n //左右两个数据块交换位置 endif goto 1 第 58 页 70亿人第61关怎么过 第六十一关懒惰路径双星代码攻略 61.懒惰路径 //指令数量挑战 //11行 762s(最讨厌随机走了,走到天荒地老) //随机走动,找到附近最小的数,+1设置为当前的数 //由于左侧有个坑爹的凹,可能偶尔走到超时了也无法走完 loop 1 step anyDir if c>1 mem2=99 forEachDiras mem1 //如果不判断mem1是个数据块,会导致周围工人在写入的过程中,将手中数据块认为是0 if mem2>mem1 and mem1==dataCube mem2=mem1 endif endForEach mem2=mem2+1 pickUp c write mem2 drop endif goto 1 //速度挑战 //108行 207s //我想有些人看到代码行数已经打退堂鼓了,我也不想这样 //但是为了那个坑爹的破凹,不得不写很多代码 //之前写过一个只用130s的,但是那个需要的代码更多,这里不贴代码,但可以放出思路 //让一部分人在行走的时候不要随机走,而是找到附近的99走上去,这样可以快 //首先给工人分类,让他们后续执行不同的动作 if w==dataCube //为了少写几个条件,先设置5和6,避免之后将1-4覆盖掉 mem1=5 endif if e==wall mem1=6 endif if w==dataCube and n==wall mem1=1 endif if n==wall and e==wall mem1=2 endif if w==wall and s==wall mem1=3 endif if s==wall and e==wall mem1=4 endif //首先是最长的1和2 if mem1==1 or mem1==2 step w step w step w step w step w step w step w if mem1==2 step n pickUp c write 2 drop endif loop 1 if w!=wall step w pickUp c mem2=e+1 write mem2 drop goto 1 endif if mem1==2 step sw step s endif if mem==1 //这段最坑爹了,不写还不行 step e step se pickUp c write 6 drop step s pickUp c write 7 drop step se pickUp c write 8 drop step se pickUp c write 9 drop step n pickUp c write 9 drop step sw pickUp c write 9 drop endif endif //1和2终于告一段落,开始写3和4 if mem1==3 or mem1==4 step w step w step w step w step w step w step w step w step w if mem1==4 step sw endif pickUp c write 6 drop loop 2 if w!=wall step w pickUp c mem2=e+1 write mem2 drop goto 2 endif endif //让看热闹的人从中间开始走,而不是最·右边 if mem1==5 step w step w step w step w step w step w step w endif if mem1==6 step w step w step w step w endif //其余的就跟正常一样了,随机走 loop 3 step anyDir if c>1 mem2=99 forEachDiras mem1 //如果不判断mem1是个数据块,会导致周围工人在写入的过程中,将手中数据块认为是0 if mem2>mem1 and mem1==dataCube mem2=mem1 endif endForEach mem2=mem2+1 pickUp c write mem2 drop endif goto 3 第 59 页 70亿人第62关怎么过 第六十二关排序楼层双星代码攻略 62.排序楼层 //指令数量挑战 and速度挑战 //48行 159s //思路:先把上面9个块从大到小拿到下面排好,再放回上面 //如果用mem1计算好当前拿的是第几个块,再写一堆if来判断每个块放的位置,可以更快 //大约能达到143s,快也有限,后来被我舍弃了 if sw==hole //只留一个,其余的人自·杀 step sw endif loop 1 step n step n step n //走到九宫格的中间 loop 2 if n!=hole step n goto 2 endif step s //拿起最大的方块 mem2=0 forEachDiras mem1 if mem1>=mem2 mem2=mem1 endif endForEach if c>=mem2 mem2=c endif if mem2==dataCube pickUp mem2 //走到左上角 loop 2 if w!=hole step w goto 2 endif loop 3 if n!=hole step n goto 3 endif //再下来 step s step s step s //找到一个空位 loop 4 if s!=hole and s!=dataCube step s goto 4 endif loop 5 if e!=hole and e!=dataCube goto 5 endif drop if w==hole //回到轴线上 step e endif if e==hole step w endif endif goto 1 loop 2 step s step s step s mem1= nearest dataCube pickUp mem1 step n step n step n drop goto 2 第 60 页 70亿人第63关怎么过 第六十三关乱序整理双星代码攻略 63.乱序整理 //指令数量挑战 and速度挑战 //24行 65s //思路:每次先走到最下方,然后拿起最近的方块,再送到上面,找个空放下 //最快达到过57s,但要多写一倍代码,后来删掉了 loop 1 loop 2 if s!=nw //向下走到底 step s goto 2 endif mem1= nearest dataCube pickUp mem1 //一个长长的if将后面的代码都包起来,以保证拿起的块是个孤独的块 //避免把排好的块再次拿起,那就没完没了了 if w!=null and e!=null loop 2 if n!=hole //向上走到头 step n goto 2 endif loop 3 if mem2==0 //用来控制行走方向,默认是0,向右走 step e else step w endif if e==hole or w==hole //用两层if可以减少多余的判断,加快速度 if w==hole //如果左边是洞,改为向右走,反之改为向左走 mem2=0 else mem2=1 endif step s endif if c==dataCube //如果脚下是一个数据块,就跳转回去,一直走,直到找到一个空为止 goto 3 endif drop //找到空了就放下 goto 1 //回到最初,重复这个过程 endif drop //如果拿起的是一个排好的块,放下,结束 第 61 页 70亿人第64关怎么过 第六十四关二进制计数器攻略 64.二进制计数器 //指令数量挑战 and速度挑战 //17行 47s step s step s if nw==worker //这个人要负责踩按钮,并协调另外4个人,单独循环 loop 1 tell nw ‘Start!’ //要踩在按钮上就喊开始,否则时间来不及 step w listen ‘OK!’ step e goto 1 endif loop 2 //其他人负责计数 listen ‘Start!’ if myItem==dataCube //如果0变1则结束计算,如果1变0则需要进位 tell all ‘OK!’ //一定要先说OK再放下,这样能抢出时间,否则来不及 drop else tell w ‘Start!’ //先告诉左边的人,再去捡自己的,节省时间 pickUp c endif goto 2 第 62 页 70亿人第65关怎么过 第六十五关有序整理双星代码攻略 65.有序整理 //指令数量挑战 and速度挑战 //25行 449s //思路:先走到顶,然后往后走,按书写顺序,走到头就换行 //遇到空位之后,拿起下一个遇到的方块,往回走 //遇到一个方块就放下,然后再回头往后走,如此循环 //每一个如果单独加个循环,提高效率,最高可到329s loop 1 if n!=hole //向上一直走到顶 step n goto 1 endif loop 2 loop 3 //正向走 if c!=dataCube and myItem==dataCube drop endif if e!=hole step e else loop 4 if w!=hole step w goto 4 endif step s endif if c!=dataCube goto 3 endif loop 5 //逆向走 if w!=hole and w!=dataCube step w endif if w==hole loop 6 if e!=hole step e goto 6 endif step n endif if w==hole or w!=dataCube goto 5 endif goto 2 第 63 页 70亿人第66关怎么过 第六十六关十进制计数器攻略 66.十进制计数器 //指令数量挑战 //22行 153s pickUp s step s step s if nw==worker //指挥 loop 1 tell nw ‘Hi!’ step w listen ‘OK!’ step e goto 1 endif drop loop 2 //计算器 listen ‘Hi!’ pickUp c mem1=myItem+1 if mem1==10 mem1=0 endif write mem1 if mem1>0 //大于0结束计算,等于0需要进位 tell all ‘OK!’ else tell w ‘Hi!’ endif drop goto 2 //速度挑战 //28行 120s pickUp s step s step s if nw==worker //指挥 loop 1 tell all ‘Start!’ //这里不一样了,让所有人同时开始计算 step w listen ‘OK!’ step e goto 1 endif drop loop 2 //计算器 listen ‘Start!’ pickUp c if e==null //最低位 mem2=myItem+1 //无脑自加 if mem2>9 mem2=0 endif write mem2 tell all ‘OK!’ //他完了别人肯定也完了 else //其他位 mem1=mem1+1 //计算整体运行到哪一步了 if myItem==0 and mem1==19 //最高位运行到19次的时候写1,其它时间不变 write 1 endif if myItem==9 and mem1==19 write 0 endif if myItem==8 and mem1==9 write 9 endif endif drop goto 2 第 64 页 70亿人第67关怎么过 第六十七关十进制翻倍器攻略 67.十进制翻倍器 //指令数量挑战 and速度挑战 //25行 222s //思路:每一位自乘2,如果右边的数字小于4则无需进位,大于4则需要进位 pickUp s step s step s if nw==worker //指挥 loop 1 tell all ‘Start!’ step w listen ‘OK!’ step e goto 1 endif loop 2 //计算器 listen ‘Start!’ pickUp c mem2=0 if e>4 //做乘法之前先判断进位 mem2=1 endif mem1=myItem*2 if mem1>9 mem1=mem1-10 else mem1=mem1+0 //即使不需要做减法也做个空计算,这样时间容易同步,否则还要写互相等待的代码 endif mem1=mem1+mem2 write mem1 tell all ‘OK!’ drop goto 2 第 65 页 70亿人第68关怎么过 第六十八关再见人类双星代码攻略 68.再见,人类! //指令数量挑战 //8行 71s loop 1 if w==wall or w==hole step se endif if e==wall or e==hole step sw endif if nw!=worker and ne!=worker and s==hole tell all ‘Goodbay!’ endif step s goto 1 //速度挑战 //18行 30s if n==wall and e==wall //随便找一个人等到最后再走 loop 1 mem1=worker if mem1==worker goto 1 endif tell all ‘Goodbay!’ endif loop 2 if w==wall or w==hole or e==wall or e==hole if e==wall or e==hole step sw step sw step sw else step se step se step se endif endif step s step s step s goto 2 69.造物主 //通关动画 70亿人是一款逻辑编程游戏,玩家们需要使用代码来安排员工们工作喔,很多玩家可能想知道70亿人攻略大全、七十亿人全关卡双星通关攻略呢,酷987游戏网为大家带来了介绍。 【通关原则】 ·指令数量挑战: 规则:使用的代码行数少于系统规定的行数 代码尽量复用就不说了,是程序员都懂,只针对游戏本身的规则注意以下原则 1.选取简单的方案,尽量通过重复简单动作达成 2.不要追求代码优雅,比如确保工人不死或所有动作完成后工人动作结束,除非工人乱动会影响后续结果 3.如果必要,不写判断。 比如拿起一个方块之前如果不判断手中无方块并且地上有方块,工人就会报一个错误,这会增加执行时间。即使因此导致某些情况下代码执行超时也无所谓,反正有任意一次能执行成功就可以了 ·速度挑战: 规则:在一倍速下运行所需要的真实时间。由于有些关卡存在随机数和随机行走问题导致时间不确定,取25次的平均值。 1.可以选取稍微复杂但更有效率的方案,比如需要多人配合的。但不要追求复杂。很多情况下简单的也是有效的。 2.如无必要,不做判断。判断也需要时间,尤其是需要与周围进行对比的。 如果需要根据不同的初始位置执行不同的动作,那么最好在一开始就做好判断,而不要在不断的问“我是谁?”的过程中耗尽时间 3.一切为了效率,即使偶尔会执行失败,只要平均时间短就足够了 【名词解释】 为方便书写和避免歧义,以下代码采用C语言语法书写,一句代码一行,结尾不写分号 对于游戏中自定义物体和函数,将用代码代替,代码中将不会出现中文 以英文版游戏中的命名方式为基础全部做了简化处理 反正你也没法把这些代码直接粘到游戏里去,能看懂就行了 命名方式如下 【方位和物体】 上→n //short for ‘north’ 下→s //short for ‘south’ 左→w //short for ‘west’ 右→e //short for ‘east’ 中→c //short for ‘center’ 左上→nw 左下→sw 右上→ne 右下→se 任意方向→anyDir 我的物件→myItem 某个东西→something //完全等同于非空,是个多余的东西,以下代码绝对不会用到 无→null 一个数据方块→dataCube 一名工人→worker 一个洞→hole 一堵墙→wall 粉碎机→shredder 打印机→printer 记忆体1→mem1 记忆体2→mem2 记忆体3→mem3 记忆体4→mem4 【命令】 行走→step+方向 拿起→pickUp 放下→drop 写下→write 给出→giveTo 拿取→takeFrom 最接近的→nearest 计算→= 设置为→= 如果→if 否则→else 结束如果→endif 跳转→goto 跳转到→loop 举例: loop 1 goto 1 //注意数字是一一对应的,涉及到多个跳转的时候要看好 //以下代码涉及到的跳转一定是大跳转包含小跳转,不存在交叉跳转的情况 //如果出现此情况,说明抄代码的时候抄窜行了 终止→end //基本上是个鸡肋,以下基本不会用到此命令(有个别极特殊情况不得不用) //我一直认为好的程序完全可以用if保证程序进入正确的分支,而不使用end //end除了让可读性变差,让人摸不清思路,没有什么好的作用 巡视→forEachDir as 巡视结束→endForEach 告诉→tell 聆听→listen 【比较和赋值】 = →等号右边的值给左边 == →相等 != →不等 > →大于 >= →大于或等于 < →小于 <= →小于或等于 and→和 or →或 【计算】 加法→+ 减法→- 乘法→* 除法→/ 【其他说明】 // →注释符,表示此行文字是写给玩家看的,不执行 关于行数计算,成对出现的如goto和loop,算做一行,if和endif算做一行 但如果出现else则单独算一行 【通关代码】 //不知道制作团队怎么考虑的,分支关卡编号不连续 //为了读者找起来方便,以下关卡顺序依然按照编号顺序,而不按分支顺序 //以下代码全部经过测试,但因为是手打,不保证没有错漏,仅供参考 1.你被录用了 //过场动画
|
Tags:
责任编辑:永春小孩- 发表评论
-
- 最新评论 进入详细评论页>>