除錯爐石兄弟盤面策略的基本教程
阿新 • • 發佈:2020-08-01
該方法來自於原開發者留下的程式碼裡對場面的測試,因為xd更新迭代很多版,需要對爐石兄弟漢化版2020.1.17\Routines\DefaultRoutine\Silverfish\ai\BoardTester.cs進行修改,將和“mana changed”下面加粗的這個部分進行修改,主要是對盤面開始分析的這部分:
1 if (s.StartsWith("mana changed")) { continue; } 2 if (s.StartsWith("開始計算, 已花費時間: ")) { if (!fistRun) break; fistRun = false; 3 Ai.Instance.currentCalculatedBoard = s.Split('')[2].Split(' ')[0]; this.botBehavior = s.Split(' ')[4].Split(' ')[0]; 4 this.maxwide = Convert.ToInt32(s.Split(' ')[5].Split(' ')[0]);
接下來是具體的步驟:
步驟1:修改BoardTester.cs完成,就是上面這部分。
步驟2:將要除錯的盤面資訊,儲存為test.txt放在爐石兄弟漢化版2020.1.17\Routines\DefaultRoutine\Silverfish\data\目錄下
步驟3:照常啟動xd
步驟4:將xd生成的,爐石兄弟漢化版2020.1.17\CompiledAssemblies\一連串數字\DefaultRoutine.dll複製到爐石兄弟漢化版2020.1.17\目錄下。注意:這一步每次修改過策略以後都要重新做,我還沒找到更好辦法。
步驟6:在Dev視窗右邊Assemblied區域中換行輸入DefaultRoutine.dll,這裡代表著訪問剛剛拷貝出來的檔案。左側Code區域輸入以下程式碼,點選Run Code開啟測試,:
步驟7:新計算的盤面將會生成在\爐石兄弟漢化版2020.1.17\Routines\DefaultRoutine\Silverfish\UltimateLogs\Logg.txt檔案裡,如果為了方便檢視,可以在執行程式碼前刪除該檔案。