2022年6月27日 星期一

Diablo3 死靈法師 惡疫之王的裹屍布 屍槍術

之前介紹了以屍爆為主死靈套裝,

而惡疫之王的裹屍布有加成的技能傷害可不只屍爆,

像是骨矛與屍槍術等都有傷害的加成,

今天則是要來介紹下

Diablo3 死靈法師 惡疫之王的裹屍布 屍槍術

在檢視裝備與技能之前,

先了解下屍爆與屍槍術這兩者的差異,

套裝的傷害加成兩者是相同的,

屍爆的傷害直接反映在受到攻擊的敵人數量,

但屍槍術則要在累積堆疊數量才能達到傷害最大值,

這在底下的裝備特性說明中可以看到。


之前也有提到惡疫之王的裹屍布套裝,

主要有加成的技能有骨矛、屍爆以及屍槍術,

除了骨矛以外,

其餘兩者都得依賴屍體的產生


在範例中使用鮮血穿行搭配血肉蛻化符文,

會在穿行的時候在原地留下一具屍體,

雖說僅一具屍體並不一定就能讓敵人死亡,

至少鮮血穿行的冷卻時間比起亡者界域來的要短多了


而吞噬靈氣讓玩家不須一直想辦法去消耗屍體,

只要在拾取的範圍內的屍體就會受到吞噬技能的影響,

藉此就能發動屍槍術攻擊


裝備同樣是採手邊有的為優先做為選擇,

所以此處傑瑟斯武裝的套裝也被留用了,

畢竟傷害提高 400%也不是小數目


喬斯頓之石在亡者界域結束後,

對屍槍術同樣有著傷害提高的效果,

故在此處同樣也留用下來


選擇團結與羅涅爾的太陽石讓死靈法師能夠有足夠的減傷效果,

前者搭配裝有不死的護符傭兵 (追隨者),可讓團結效果始終常駐,

後者則是血量越少傷害的減免就越高,

若是覺得減傷不需要這麼高的話,

可將克里斯賓的判決換上來搭配賊神的復仇寶石,

能獲取三倍的傷害提高


在鑲嵌的寶石選擇上,

此處採奧幻之石、迅捷勾玉以及賊神的復仇寶石,

奧幻之石能提供非物理減傷,

至於迅捷勾玉以及賊神的復仇主要選擇的原因,

前者是為了縮短冷卻時間,

後者則是看上了擊中時有 20%的擊昏積蓄


此次選擇搭配克里森船長的飾衣做為搭配,

由於造成的傷害會隨著降低冷卻時間百分比提高,

故頭部鑲嵌無瑕皇家鑽石而飾品則帶上迅捷勾玉


至於卡奈魔方的技能選擇,

武器部分使用的是奈雅的黑死病,

故技能盡量選擇毒素相關的符文為佳,

每個不同的毒素技能都能讓毒素技能傷害提高 100%


防具部分選擇屍語肩鎧,

這也是上面提到屍槍術為何需要堆疊才能達到最大傷害,

因為此裝備特性每耗用一具屍體就能讓傷害提高 30%,

最高可堆疊 20次


最後皇家華戒算是此次搭配不可少的,

因為克里森船長的飾衣的緣故,

所以需要補齊六件套的套效


最後附上宏偉秘境與此次第 26賽季迴盪夢魘的影片做為結束,

還沒有訂閱的朋友記得點選影片右下角的訂閱按鈕,

支持下本站的 YouTube 頻道





2022年6月24日 星期五

Python 基礎:List 的使用範例詳解

之前提到 Python 資料型態的時候,

提到過 List 串列,

在 List 使用範例文中簡單了解到串列使用的方式,

今天則是要來詳細介紹下關於

Python 基礎:List 的使用範例詳解

認識 List 

串列 (List) 是由一系列元素以逗號相隔開,

並且將這些元素放置在中括號中 [] 的資料型態,

需要存取的時候使用串列名稱加上索引值即可,

功能上在 C語言中相當於 array 


增加刪除串列元素

要在一個串列中增減元素很簡單,

可透過 append(), extend(), insert() , remove() 等等方式,

使用 append() ,會在串列末端新增元素,若新增的資料為串列,會將其視為一個元素加入 ;
使用 extend() 則適用於兩個串列連結,與 append()的差異可參照範例程式;

串列名稱.insert(索引值, 元素內容),可直接於串列的任意位置插入一個元素;
串列名稱.remove(元素內容),可以直接將找到的第一個元素內容從串列中移除;

若使用 
del 串列名稱
則會將串列從程式中刪除


其他應用方式

Python 允許串列相加,而兩個串列相加相當於使用 extend() 將兩個串列結合,

若將串列乘以一個數字則是代表將這個串列的元素重複的次數,差異的話可參照範例程式,

若想建立一個空串列,可直接寫為

# 宣告空集合
demolist = []

總結

除了新增、插入、刪除、移除元素等方法之外,

Python 也提供了許多其他方法方便程式設計中使用,

像是 sort(), count() 等等,

這些就待下次有機會再講解。

雖說目前這部分並沒有影片講解,

不過還沒有訂閱的朋友,可先前往本站 YouTube頻道訂閱支持,

或許哪天會將這些程式設計範例弄成教學影片



2022年6月22日 星期三

Elden Ring 王城羅德爾

之前提到上了亞壇高原之後,

除了火山以外就是東行前往王城,

格密爾火山有介紹了,

今天則是要來介紹下

Elden Ring 王城羅德爾

基本上只要之前有擊敗過兩個以上的半神,

就擁有進入王城的資格,

從亞壇高原東行就能到達王城羅德爾,

除了這個方式以外,

透過死眠少女菲雅支線任務結束後,

旁邊有傳送門也能將玩家送到王城中。


主線劇情 

若是打算速刷主線劇情的玩家,

可直衝王城西邊城牆從石像鬼後方的樹幹往上進入宮殿,

挑戰初始之王葛孚雷



繼續向上走還能挑戰惡兆王蒙葛特

擊敗惡兆王才發現黃金樹以荊棘牆拒絕一切,

而梅琳娜則會提示燒樹並給予洛德符節,

玩家則是需要搭乘洛德大升降機前往雪原



裝備道具

若是初次到達王城的玩家,

可以仔細探索下,

特別是部分的裝備道具在燒樹之後是拿不到的


像是武器古蘭桑克斯的雷電,



或者是黑弓等等這些裝備都值得玩家取得收藏,

甚至裝備來使用也可以




王城中甚至還有個房間,

擺設與圓桌廳堂一模一樣

不過在王城這邊只有獲取裝備道具的功用



王城下水道

除此之外,

還有王城下水道有著癫火封印,

可讓玩家能有不同的結局選擇,

甚至還有密道通往深根底層




秉持著走過路過別錯過的美德,

不管是收藏裝備道具也好,

體驗支線劇情也罷,

都值得玩家細細品嘗這款開放世界遊戲 



2022年6月16日 星期四

Diablo3 第26賽季 死靈法師 惡疫之王的裹屍布

之前簡單介紹了第 26 賽季 涅法雷姆的殞落,

雖說取得石化尖嘯的機率不高,

但還是能夠進入迴盪夢魘的,

今天要來介紹下

Diablo3 第26賽季 死靈法師 惡疫之王的裹屍布

雖說之前也介紹過惡疫之王的裹屍布,

若需要參考之前的配裝也可在本站找到,

依照慣例使用的是目前手邊有的裝備


惡疫之王的裹屍布的技能加成,

主要集中在屍槍、屍爆以及骨矛,

不過骨矛的加成來自與屍體的耗用


底下為範例使用的技能表,

透過亡者界域來產生首次的屍體,

由於主要以屍爆為傷害,

接著就是推高屍爆的傷害了


護身符的選用上,

採能提高屍槍術與屍爆傷害的喬斯頓之石,

能再亡者界域結束後獲得 50層的寒慄知識


戒指選擇團結來幫助減傷一半,

克里斯賓的判決則是讓緩速與其他控場效果影響的敵人受到傷害提高,

最高能達到三倍的增傷效果


在寶石的選用上,

使用猛者之厄降低精英怪傷害的同時也增加對其傷害各 15%,

還提高整體的傷害 20%,

而毀傷之禦則用來降低受到的近戰傷害


迅捷勾玉可增加閃躲機率,

不過對於死靈法師而言應該是沒多大用處,

此處看上的是縮短冷卻時間的特性


搭配戴恩堤的束腰,

能讓敵人受到詛咒時,

額外獲得 47%的減傷


最後搭配傑瑟斯武裝兩件套,

讓統御骷髏的攻擊對象死亡後自動再找下一個目標,

此時後可讓玩家造成的傷害提高 400 %


在卡奈魔方的技能選擇上,

使用奈雅的黑死病,

每使用一個不同的毒素技能就能讓毒素技能傷害提高 100%


魂能之握則是提高屍爆在炸到複數敵人的時候,

可提高 200% 的傷害6秒,

同時效果可堆疊 5次


由於技能使用了亡者界域,

故戒指技能採黃道之黑曜石戒,

讓玩家施放骨矛的同時,

也能盡早縮短亡者界域的冷卻時間。

最後附上宏偉秘境的套裝實測範例,

以及第 26賽季獨有的迴盪夢魘供大家參考



還沒有訂閱的朋友,

也歡迎點選影片右下角的訂閱按鈕,

來支持本站的 YouTube 頻道

2022年6月15日 星期三

Python基礎: 遞迴 recursive

之前簡單介紹過函式的入門,

可以透過函式來執行一些重複的步驟,

今天的主題也與函式有些關聯

Python基礎: 遞迴 recursive

何謂遞迴

在解決問題的時候,

將此問題拆解為多個小問題,

再以同個函式求得這些小問題的解答,

來獲取這個問題的解答;

遞迴的概念就相當於這種做法,

而在函式執行過程中會呼叫自己本身的,

也將其稱為遞迴函式

階乘 factorial


階乘的定義為:

1 * 2 * 3 .......*(n-1)*n

將其寫為  n!

也就是從 1 開始一直連乘直到 n 為止,

可將這個 n! 寫為

[  1 * 2 * 3 .......*(n-1)  ] *n   也就是 f(n-1)*n

這樣比較容易理解

在遞迴的概念中,

將 1 做為遞迴函式的結束;

範例程式求得 ans = 5! = 120

費氏數列 fibonacci


另一個有名的例子就是費氏數列,

一個數列的某個值,

等於它的前兩項的和,

這個數列稱之為費氏數列

也就是

f(n) = f(n-1) + f(n-2)

n必須大於等於 2  ,

故 f(0) 與 f(1) 直接就 return 值不做遞迴呼叫

結論

除了上述的兩個例子以外,

最大公因數也能透過遞迴的方式來求得;

使用遞迴能讓程式更為簡短與簡潔,

不過由於需要等待遞迴函式求得最終解答,

相對的會花費比較多的時間,

而且為了儲存遞迴過程中的中間解也需要花費較多的記憶體;

為了避免無窮的遞迴下去,

Python 對遞迴的次數有限制,

可透過

sys.getrecursionlimit()
來做查詢

2022年6月14日 星期二

Elden Ring 格密爾火山區域

上了亞壇高原之後,

玩家有兩個選擇,

一是繼續向東行前往王城,

另個選擇就是今天的主題

Elden Ring 格密爾火山區域

格密爾火山區域的話,

最重要的就是火山官邸,

其他幾個重點則是格密爾火山的探索以及山頂會掉裝備的墜星成獸,

當然一些支線任務在此都有涉及,

從亞歷山大、菈雅、甚至愛整人的帕奇等等。

格密爾火山探索

雖說有比較簡便的方式到達火山官邸,

若要探索格密爾火山區域還是自行走山路上去比較好,


擊敗山頂的墜星成獸則會獲得特殊武器星獸半顎;



沿途地下墓地與洞窟肯定是有的,

例如格密爾英雄墓地走過岩漿取得特殊武器戒指指頭



或者擊敗火山洞窟的亞人女王瑪格可獲取壺大砲



火山官邸

到火山官邸有幾種方法,

除了上述一步一腳印的方法之外,

也能透過菈雅幫忙傳送;

加入火山官邸之後會給玩家三個暗殺任務,

也可以直接前往官邸深處挑戰 Boss ,



接受任務的獎勵肯定比較豐富的

包括防禦力不錯的大山羊套裝

支線任務

在格密爾火山區域有不少支線任務,

像是玩家被帕奇推下山崖並告知別靠近火山官邸



或者菈雅的身世之謎



其他還有不少劇情都是在格密爾火山區域,

像是亞歷山大在沸滾河終點的岩漿中歷練等,

就由玩家親自來探索,

劇情的豐富或許也是艾爾登法環深深吸引玩家的一個賣點,

以上就是今天的主題,

Elden Ring 格密爾火山區域

當然還沒有訂閱的朋友,

記得點選影片右下角的訂閱按鈕,

支持本站的 YouTube 頻道。







2022年6月7日 星期二

Python與 JSON格式資料的讀寫範例

之前提到過資料交換格式JSON,

今天就以實際的範例,

簡單介紹下

Python與 JSON格式資料的讀寫範例

資料交換格式JSON

JSON全名為 Javascript   Object   Notation

是一種常見的資料交換格式

JSON文件的副檔名為 .json


JSON 資料讀取

在 Python 可透過 json.loads 來讀取一個 JSON格式的字串

str_data = '{ "name": "李大朋", "age": 20, "weight": 70}'

若讀取的是一個 JSON檔案的話,則是用  json.load 來開啟

當然,在進行檔案存取之前得先要 open 檔案,

這在之前的 Python 檔案讀寫就有提及

# 讀取 JSON 檔案
with open("output.json", "r", encoding='UTF-8') as g:
print("\n 讀取 json檔案:")
h = json.load(g)
print(type(h))
print('名字:'+h['name'])

JSON 資料產生

除了讀取其他人交換的 JSON資料,

反過來自己也能夠分享 JSON 格式的資料給別人,

這時就使用 json.dumps 來產生 JSON字串

# 輸出 JSON 字串
q = json.dumps(dict_data)
print("\n json.dumps 結果:")
print(type(q))
print(eval(q))
若為檔案的話,則是使用 json.dump 產生副檔名為 .json的檔案

# 輸出 JSON 檔案
with open("output.json", "w+", encoding='UTF-8') as f:
json.dump(dict_data, f, indent=4, ensure_ascii=False)
若有中文的資料的話,

記得以 UTF-8 的方式來存取檔案,

否則就會直接以編碼的方式寫入檔案,

此處使用 json.dump 來產生 JSON檔案

結語

範例程式最後的結果如下


使用 json.dumps() 將物件轉成 JSON字串

回傳的資料型態為 str  ;

使用 json.loads() 讀取 JSON字串

則回傳的資料型態為 dict  ;

若讀寫的資料均為檔案的話,

則是使用 json.load() 與 json.dump() ;

若資料有中文,就必須使用 UTF-8 來讀寫,

避免資料顯示或者輸出的時候格式不對造成讀寫困難