該方法來自於原開發者留下的代碼里對場面的測試,因為xd更新迭代很多版,需要對\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生成的\CompiledAssemblies\一連串數字\DefaultRoutine.dll復制到根目錄下。注意:這一步每次修改過策略以后都要重新做,我還沒找到更好辦法。
步驟5:在xd的設置->Main勾選顯示設備,Dev選項就開啟了,
步驟6:在Dev窗口右邊Assemblied區域中換行輸入DefaultRoutine.dll,這里代表着訪問剛剛拷貝出來的文件。左側Code區域輸入以下代碼,點擊Run Code開啟測試,:
步驟7:新計算的盤面將會生成在\Routines\DefaultRoutine\Silverfish\UltimateLogs\Logg.txt文件里,如果為了方便查看,可以在執行代碼前刪除該文件。