调试盘面策略的基本教程


该方法来自于原开发者留下的代码里对场面的测试,因为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文件里,如果为了方便查看,可以在执行代码前删除该文件。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM