保衛蘿卜4火瓶子攻擊范圍是多少 算法邏輯簡析。火瓶子的攻擊范圍是多少呢?本期內容將從算法邏輯將起,有需要的小伙伴進來參考一下吧。
?
↑ ↑ ↑ 火瓶子 ↑ ↑ ↑
對建筑物的攻擊范圍
1.算法分析:
鑒于建筑物為靜態存在,我們可以近似地使用Dijkstra算法來判定攻擊范圍。Dijkstra算法是從一個頂點到其余各頂點的最短路徑算法,解決的是有權圖中最短路徑問題,主要特點是從起始點開始,采用貪心算法的策略,每次遍歷到始點距離最近且未訪問過的頂點的鄰接節點,直到擴展到終點為止。
每一個地圖,可以看成一個已知大小的二維矩陣,只要確定了中心點(塔的位置),然后向上下左右四個方向展開搜索,規定中心點的數值為0,下一個格子的數值為本格子的數值加1。對于地圖上的每一個格子,算出到達這個格子的最短路徑,最終遍歷完所有的格子之后,獲得最短的路線。
2.實例演示:
↓ ↓ ↓ 一級火瓶子 ↓ ↓ ↓
↓ ↓ ↓ 二級火瓶子 ↓ ↓ ↓
↓ ↓ ↓ 三級火瓶子 ↓ ↓ ↓
3.建模總結:
限定直線 y=0 和 y=x 在第一象限所圍成的區域(含邊界),各等級火瓶子有以下攻擊范圍。一級火瓶子:(1,0),(1,1),(2,0)。二級火瓶子:(1,0),(1,1),(2,0),(2,1)。三級火瓶子:(1,0),(1,1),(2,0),(2,1)。