1. 程式人生 > 遊戲資訊 >重構(Refactor)開局鋪路思路

重構(Refactor)開局鋪路思路

      筆者近期尋思了一下重構(Refactor)——作為一款基於防禦塔模組自己設計怪物路線的塔防遊戲的鋪路方法,簡單發出來拋磚引玉。

      筆者首先在此提出一套理論上範用的不需要提前規劃的U型長廊構造法,以下簡稱U法,其定義為在先構造一個連接出口入口的U型長廊的基礎上,在該U型長廊上不斷構造閉合的U型長廊。

一、概述

筆者將U法分為兩個階段:

第一階段為連接出口入口的U型長廊的的構造,簡稱基礎U型長廊的構造,示意圖如下,兩側同道間距為一格。

理想中的基礎U型長廊      第二階段為在基礎U型長廊的基礎上進行向兩側的生長,生長示意圖如下。

理想中的U型長廊完整版


所謂生長,也就是在基礎U型長廊上進行向地圖邊緣的迴廊長度拓展,即在基礎U型長廊的側面構建延長長廊,其示意圖如下

基礎U長廊

在基礎U型長廊上生長1

在基礎U型長廊上生長2


通過不斷進行新的,間隔為1的U型長廊的構建,最終實現筆者理想中的完整版U型長廊。

已知防禦塔模組共有六種基本型別,分別為長條、L、手性L、田字、T字和Z字,根據防禦塔所在的位置又可以將其分為更多種類,為儘量避免規劃,可以儘量無腦構造,筆者將防禦塔模組分為四類,僅考慮其在鋪路時候的表現,不考慮防禦塔效能。

      T0級一類防禦塔模組:T0級一類防禦塔模組如下,為炮塔居於三連方塊兩側的L型、手性L型和T型。該類模組的優點在於提供3格連通的直線可移動路徑,可以作為鋪路的優質素材,且作為障礙物的防禦塔居於直線一側,使用方便沒有冗餘路徑產生。適合用於清理冗餘結構,但是在清理冗餘結構的時候不夠順滑。

PS.重開半天沒刷到,自己拼了一個      T0級二類防禦塔模組:T0級二類防禦塔模組僅有一類,為全部田字型。因為設計中冗餘路徑產生在所難免,所以為了處理掉冗餘路徑我們可以使用兩種辦法,一種是通過重構防禦塔部署在冗餘路徑上從而消除冗餘路徑,另一種是利用該類模組消除冗餘路徑

      T1級防禦塔模組: T1級防禦塔模組如下,為炮塔在三連方塊任意一塊上的L型、手性L、型Z型以及炮塔在三連方塊邊上的T型。該類模組可以提供2格連通的直線可移動路徑,可以作為鋪路素材,但是容易產生冗餘結構。

                 

      T2級防禦塔模組:T2級防禦塔模組如下,分別為炮塔居中的T字和全部長條。該類模組對於無腦鋪路非常不友好,僅僅能提供1格連通的直線可移動路徑,且產生的冗餘路徑較多。

    


二、示例

構造U型長廊的關鍵在於如何在長廊中間製造障礙物或者虛空,筆者簡單示例一下構造U型長廊的方法以及存在的問題。

1、利用炮塔,配合提前放置的方塊消去冗餘路徑,但是選擇T1級防禦塔模組,導致新的冗餘路徑產生。

 

2. 利用炮塔消去冗餘路徑,但是利用田字方塊,配合提前架設的方塊可以平滑的將冗餘路徑消除。


3.利用移動炮塔或者構造炮塔消去冗餘路徑,很靈活。

4.T0一類與二類的對比可以看出在冗餘路徑的消除中T0一類不如T0二類平滑,可能需要更多的鋪墊。