之前寫過一個肝梧桐的,巧用橫屏和連點器能讓我們省很多事,但是梧桐畢業之後我們仍然會面臨一點點問題:雛菊它不能被採集出來(ノ=Д=)ノ┻━┻
這個時候我們我們只需要選擇擺爛,每個灌木周圍留夠8個空位,然後一個多小時過來收一下就可以了!
當然你會覺得我在說廢話……拜託了肝帝怎麼能選擇擺爛呢!那麼我們可能需要一些更肝的擺法:每個灌木周圍只留一個空位,每次生產後就合成,這樣的優點呢就是佔地少,對後期灌木多的大佬和前期地方少的萌新來說都是不錯的選擇,就是有點廢人(
在擺爛的情況下小花蕾會滿整個地面,這樣在合成的時候很方便就能連起來,一次就能全部合成,但是留一格生產的情況下,就不可避免地有些灌木的位置把小花蕾隔開了,花蕾連不起來,不僅需要多次合成,而且還會出現更多的複製體,刪起來很麻煩,那麼我們怎麼樣才能讓生產的花蕾連起來呢?
最簡單的方式就是擺成一排,但是我們通常沒有可能一排就放下所有的灌木,這樣不可避免地,如果想讓灌木連起來,就會導致生產的位置相互擠壓。
我們看別人家的灌木擺放很合理,固然可以直接抄下來,但是大家森林的空位其實可能並不一致,我們想要自己研究一個適合自己家的擺法,那麼瞭解生產物品相互擠壓的規則,對我們合理安排灌木位置就是很必要的!
首先我們複習一下最基本的生產順序:←↓→↑↙↘↗↖
最基本的規則就是這樣:在順序靠前的位置有空位,優先生產在這個位置。
比如你擺成一排,最左邊的灌木會生產在自己左邊,其他灌木因為左順位被擋住,會生產在第二順位,就是自己下邊,這樣我們把最左邊灌木的左邊也用物品擋住,所有灌木就都會在下排生產啦!
這是最簡單的大家常用的方法,但是我們可能遇到不止這種情況,當灌木生產位置相互衝突的時候,到底會生產在哪個位置呢?難道是灌木看心情隨便選擇一個位置?
其實我們知道對程序來說,是很難做到真隨機的,程序更喜歡這種if else的規則,其實對現實時間真正的隨機也很難做到,就像遊戲人生裡面你計算能力足夠強,拋硬幣會拋出哪一面也是可以算出來的!就像有因必有果,你的報應就是我……對不起扯遠了。
回到灌木上面來,為了說明我搞了一點點示例圖
綠色代表灌木,藍色表示空位,沒有標明的位置我們都默認是擋住的。紅色對勾表示生產位置
比如這種:
還是比較簡單的吧,因為對於兩個灌木來說,生產在下面都是優先情況,所以二者都會生產在自己下邊。
當我們把③位擋住,雖然對於灌木a來說優先是在①生產,但是這樣就會導致灌木b無法生產,這種情況下,機智的程序就會選擇讓灌木a在②生產,而灌木b在①生產,這樣我們就能獲得儘可能多的小花蕾啦
這也就互相遮擋情況下最優先的規則:儘可能多生產
那麼更加複雜的情況下,如果兩個灌木都有兩種選擇呢?比如下圖這種,a可以選擇①②,而且①優先於②,b可以選擇①③,而且①優先於③,在兩個灌木都搶奪①位的時候,誰會贏呢?最後生產情況是這樣的:(圖1)
看起來好像是上面的灌木優先了。
但是再換一種情況,如下圖生產情況:(圖2)
假如①位是a生產的,那麼b選擇空位時其實是③優先於②,就不能出現這種情況了,那麼我們只能得到:①是b生產的,而②是a生產的,在②③選擇的時候,對灌木a來說②優先於③,才出現了這種情況,那麼上面灌木優先好像也不太對。
再來一種情況:(圖3)
好傢伙徹底給我整不會了,這到底是為什麼呢?我們再來複習一下生產順序,並且標上數字:
我們把對每個灌木來說生產位置的數字加起來試試
對圖1,選擇①②位是這樣的:①對灌木a是8,②對灌木b是4,8+4=12
選擇①③位是這樣的:①對灌木a是2,③對灌木b是5,2+5=7
最終生產方案是①③,也就是數字更小的一方
對圖3,①②位的情況:4+8=12
①③位的情況:2+6=8
也是優先數字更小,也就是所有灌木生產順位都儘可能優先的情況。
對特殊的圖2,①②位:5+4=9
①③位:2+7=9,這種情況下其實是下面的灌木優先生產的!
那麼會不會出現一種情況,有一個灌木在四角生產(左下,右下,右上,左上),比兩個都在正位(也就是上下左右四個位置)順位更靠前呢?
我們稍微算一下,角位最小是5,順位最大是4,5+2<4+4,那麼或許是有這種可能的,我們通過位置順序把這種情況找出來:然後打開小森靈驗證一下:
確實是下面的灌木在角位生產了!可以安心睡大覺了!
同樣對於左右擺放的灌木,依然是生產數量>生產順位>位置關係,位置依然是生產順位的關係,也就是左邊優先於右邊。
掌握了這個方法,不管地形多奇怪我們都能很好地擺放灌木了!
不過雖然道理我都明白了,但是還是……誰家擺好灌木了,借我抄抄作業啊!