首頁(yè)手游網(wǎng)游攻略→ 7 Billion Humans攻略大全 7BillionHumans全關(guān)卡雙星代碼攻略

7 Billion Humans攻略大全 7BillionHumans全關(guān)卡雙星代碼攻略

作者:於黽來(lái)源:本站整理2019/4/16 17:36:13我要評(píng)論

  7 Billion Humans是一款邏輯編程游戲,玩家們需要使用代碼來(lái)安排員工們工作喔,很多玩家可能想知道7 Billion Humans攻略大全、7BillionHumans全關(guān)卡雙星代碼攻略呢,跑跑車(chē)游戲網(wǎng)為大家?guī)?lái)了介紹。


*7 Billion Humans攻略大全

【通關(guān)原則】

·指令數(shù)量挑戰(zhàn):

規(guī)則:使用的代碼行數(shù)少于系統(tǒng)規(guī)定的行數(shù)

代碼盡量復(fù)用就不說(shuō)了,是程序員都懂,只針對(duì)游戲本身的規(guī)則注意以下原則

1.選取簡(jiǎn)單的方案,盡量通過(guò)重復(fù)簡(jiǎn)單動(dòng)作達(dá)成

2.不要追求代碼優(yōu)雅,比如確保工人不死或所有動(dòng)作完成后工人動(dòng)作結(jié)束,除非工人亂動(dòng)會(huì)影響后續(xù)結(jié)果

3.如果必要,不寫(xiě)判斷。

比如拿起一個(gè)方塊之前如果不判斷手中無(wú)方塊并且地上有方塊,工人就會(huì)報(bào)一個(gè)錯(cuò)誤,這會(huì)增加執(zhí)行時(shí)間。即使因此導(dǎo)致某些情況下代碼執(zhí)行超時(shí)也無(wú)所謂,反正有任意一次能執(zhí)行成功就可以了

·速度挑戰(zhàn):

規(guī)則:在一倍速下運(yùn)行所需要的真實(shí)時(shí)間。由于有些關(guān)卡存在隨機(jī)數(shù)和隨機(jī)行走問(wèn)題導(dǎo)致時(shí)間不確定,取25次的平均值。

1.可以選取稍微復(fù)雜但更有效率的方案,比如需要多人配合的。但不要追求復(fù)雜。很多情況下簡(jiǎn)單的也是有效的。

2.如無(wú)必要,不做判斷。判斷也需要時(shí)間,尤其是需要與周?chē)M(jìn)行對(duì)比的。

如果需要根據(jù)不同的初始位置執(zhí)行不同的動(dòng)作,那么最好在一開(kāi)始就做好判斷,而不要在不斷的問(wèn)“我是誰(shuí)?”的過(guò)程中耗盡時(shí)間

3.一切為了效率,即使偶爾會(huì)執(zhí)行失敗,只要平均時(shí)間短就足夠了

【名詞解釋】

為方便書(shū)寫(xiě)和避免歧義,以下代碼采用C語(yǔ)言語(yǔ)法書(shū)寫(xiě),一句代碼一行,結(jié)尾不寫(xiě)分號(hào)

對(duì)于游戲中自定義物體和函數(shù),將用代碼代替,代碼中將不會(huì)出現(xiàn)中文

以英文版游戲中的命名方式為基礎(chǔ)全部做了簡(jiǎn)化處理

反正你也沒(méi)法把這些代碼直接粘到游戲里去,能看懂就行了

命名方式如下

【方位和物體】

上→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

某個(gè)東西→something //完全等同于非空,是個(gè)多余的東西,以下代碼絕對(duì)不會(huì)用到

無(wú)→null

一個(gè)數(shù)據(jù)方塊→dataCube

一名工人→worker

一個(gè)洞→hole

一堵墻→wall

粉碎機(jī)→shredder

打印機(jī)→printer

記憶體1→mem1

記憶體2→mem2

記憶體3→mem3

記憶體4→mem4

【命令】

行走→step+方向

拿起→pickUp

放下→drop

寫(xiě)下→write

給出→giveTo

拿取→takeFrom

最接近的→nearest

計(jì)算→=

設(shè)置為→=

如果→if

否則→else

結(jié)束如果→endif

跳轉(zhuǎn)→goto

跳轉(zhuǎn)到→loop

舉例:

loop 1

goto 1

//注意數(shù)字是一一對(duì)應(yīng)的,涉及到多個(gè)跳轉(zhuǎn)的時(shí)候要看好

//以下代碼涉及到的跳轉(zhuǎn)一定是大跳轉(zhuǎn)包含小跳轉(zhuǎn),不存在交叉跳轉(zhuǎn)的情況

//如果出現(xiàn)此情況,說(shuō)明抄代碼的時(shí)候抄竄行了

終止→end //基本上是個(gè)雞肋,以下基本不會(huì)用到此命令(有個(gè)別極特殊情況不得不用)

//我一直認(rèn)為好的程序完全可以用if保證程序進(jìn)入正確的分支,而不使用end

//end除了讓可讀性變差,讓人摸不清思路,沒(méi)有什么好的作用

巡視→forEachDir as

巡視結(jié)束→endForEach

告訴→tell

聆聽(tīng)→listen

【比較和賦值】

= →等號(hào)右邊的值給左邊

== →相等

!= →不等

> →大于

>= →大于或等于

< →小于

<= →小于或等于

and→和

or →或

【計(jì)算】

加法→+

減法→-

乘法→*

除法→/

【其他說(shuō)明】

// →注釋符,表示此行文字是寫(xiě)給玩家看的,不執(zhí)行

關(guān)于行數(shù)計(jì)算,成對(duì)出現(xiàn)的如goto和loop,算做一行,if和endif算做一行

但如果出現(xiàn)else則單獨(dú)算一行

【通關(guān)代碼】

//不知道制作團(tuán)隊(duì)怎么考慮的,分支關(guān)卡編號(hào)不連續(xù)

//為了讀者找起來(lái)方便,以下關(guān)卡順序依然按照編號(hào)順序,而不按分支順序

//以下代碼全部經(jīng)過(guò)測(cè)試,但因?yàn)槭鞘执颍槐WC沒(méi)有錯(cuò)漏,僅供參考

1.你被錄用了

//過(guò)場(chǎng)動(dòng)畫(huà)


2.歡迎新員工

//指令數(shù)量挑戰(zhàn) and 速度挑戰(zhàn) //3行 1s

//前幾關(guān)的pickUp都不帶方向參數(shù),等同于后面的pickUp c

step s

pickUp

drop


3.運(yùn)輸小隊(duì)

//指令數(shù)量挑戰(zhàn) and 速度挑戰(zhàn) //5行 2s

step s

pickUp

step s

step s

drop


4.長(zhǎng)途運(yùn)輸

//指令數(shù)量挑戰(zhàn) and 速度挑戰(zhàn) //4行6s

step e

pickUp

loop 1

step e

goto 1


5.重要的抉擇

//指令數(shù)量挑戰(zhàn) and 速度挑戰(zhàn) //5行 2s

if w==dataCube

loop 1

step w

goto 1

endif

loop 2

step e

goto 2


6.小小驅(qū)蟲(chóng)工1

//指令數(shù)量挑戰(zhàn) and 速度挑戰(zhàn) //9行 3s

step s

step sw

step sw

step se

step e

step se

step s

step s

pickUp


7.整理房間

//指令數(shù)量挑戰(zhàn) //5行 14s

loop 1

if s!=hole

pickUp s

step s

goto 1

endif

drop

//速度挑戰(zhàn) //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.員工激勵(lì)大師

//過(guò)場(chǎng)動(dòng)畫(huà)


9.對(duì)角巷

//指令數(shù)量挑戰(zhàn) and 速度挑戰(zhàn) //5行 5s

pickUp s

loop 1

step s

if nw!=dataCube

goto 1

drop

//速度挑戰(zhàn) //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


10.疏散演習(xí)

//10關(guān)之前都是教學(xué)關(guān),比較簡(jiǎn)單。10關(guān)開(kāi)始代碼變得復(fù)雜起來(lái)

//指令數(shù)量挑戰(zhàn) //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

//速度挑戰(zhàn) //27行 14s

//這里有個(gè)技巧,或者說(shuō)可以利用的規(guī)則:

//行走的時(shí)候如果前面是個(gè)工人,則會(huì)等待;

//如果前面是個(gè)洞,當(dāng)然會(huì)掉下去

//而如果前面是墻壁、打印機(jī)、粉碎機(jī)之類(lèi)無(wú)法行走又無(wú)法掉落的物體,則會(huì)自動(dòng)結(jié)束行走

//如此一來(lái),如果想讓許多人走同樣的路線,可以讓他們先向某個(gè)角落集合

//如果碰到墻壁,自動(dòng)會(huì)停止

//所有人先在右下角集合,這樣不管原來(lái)在哪里,現(xiàn)在都在右下角了

step e

step e

step e

step e

step s

step s

step s

step s

//然后按照右下角的路徑,直接走到目的地,無(wú)需做任何一個(gè)判斷

step w

0相關(guān)評(píng)論

發(fā)表評(píng)論

最新最熱相關(guān)資源

安卓蘋(píng)果應(yīng)用推薦