https://tieba.baidu.com/p/5275382967

默认的配置不是很合理,花了点时间读了下silverfish(也就是兄弟用的AI)的代码后也尝试修改了些参数,有没有效果仁者见仁吧。
吧里已有一篇注释翻译,基础请结合那篇的内容看,我补充一点自己对参数的理解和测试结果。

playarround = false;
配置文件单词打错了,AI源码里也打错了,迷。作用是AI防不防AOE,默认是false。本来以为调成true后操作会变好,测试后发现反而打得很迷,保持false就好。

playaroundprob = 50;
playaroundprob2 = 80;
防AOE的参数,测试下来怎么样都不如不防AOE。设置成不防AOE的话这两个参数是没用的,无视就好。

useSecretsPlayArround = false;
防奥秘,同样也是发现设置成false效果打得比较好,默认是true最好改掉。(AI心理战还是玩不过人的啊)

maxwide = 5000;
这个参数影响AI计算的递归深度,应该是最关键的参数之一,理论上越大AI越聪明。默认3000,改到5000或者10000都不会很卡,出牌似乎变好了。(可能是心理作用)这个参数要跟几个参数一起调节,看后面。

twotsamount = 1000;
默认是0,然后只看到EnemyTurnSimulator里引用了能影响斩杀计算,似乎配置文件里面配置没用,运行时会被自动设置成256这个值。
源码中有,
twotsamount = Settings.Instance.secondTurnAmount;
然后,Settings.Instance.secondTurnAmount的值是写死256的。

enemyTurnMaxWide = 40;
enemyTurnMaxWideSecondTime = 200;
maxwide参数的两个变体,作用于对手回合和对手的第二个回合,提高AI递归深度,机器性能好的话可以按比例调高,理论上会变聪明。

nextTurnDeep = 6;
源码注释里面直接就说不要碰这个参数,那我们就不碰了,6就6吧。

nextTurnMaxWide = 20;
看代码里相当于自己下回合的maxwide,影响递归次数,默认值只有20所以可能影响不是很大?我暂时还没尝试调节过这个参数。

nextTurnTotalBoards = 200;
源码里这个参数影响一个循环的次数(在MiniSimulatorNextTurn里),没看得很明白,参数的注释也不是很清楚,建议不要随意调节。

alpha = 50;
分配到当前和第二回合计算的比重,取值1-99(很迷,之前那几个递归深度的参数还不够吗)。第二回合的计算比当前的计算要消耗更多的时间,调大明显感觉得到变卡,机器不好的同学试试把这个调小,但是肯定是会影响AI智商的。

HearthBuddy中_settings.txt的更详细参数解释的更多相关文章

  1. 传奇身上装备升级系列脚本,以及UPGRADEITEMEX 脚本的详细参数解释

    UPGRADEITEMEX 脚本的详细参数解释如下: UPGRADEITEMEX 物品位置(0-12) 属性位置(0-14) 成功机率(0-100) 点数机率(0-255) 是否破碎(0,1) 物品位 ...

  2. 关于高淇JAVA中SORM总结学习笔记详细个人解释

    代码来源于高淇JAVA教学视频 谢谢高淇老师的教学. 因为自己在学习的过程中发现了很多困难点,总结下希望对自己接下来学框架提升.给像我一样得初学者方便. SORM框架是一个简单的ORM,关系对象映射, ...

  3. expdp/impdp 详细参数解释

    任意可以使用expdp/impdp的环境,都可以通过help=y看到帮助文档. 1.expdp参数说明 2.impdp参数说明 3.expdp参数说明(中文) 4.impdp参数说明(中文) expd ...

  4. Oracle11G_R2中共享服务器模式和专用服务器模式参数解释及设置

    sys@MYTESTDB> show parameterNAME TYPE VALUE------------------------------------ ----------- ----- ...

  5. ListView的操作模式的选择的更详细的解释CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL

    本文介绍了我们将如何取得具体ListView多选择操作.本文将正确使用ListViewCHOICE_MODE_MULTIPLE要么CHOICE_MODE_MULTIPLE_MODAL时间easy误区. ...

  6. JQuery中Ajax详细参数使用案例

    JQuery中Ajax详细参数使用案例 参考文档:http://www.jb51.net/shouce/jquery1.82/ 参考文档:http://jquery.cuishifeng.cn/jQu ...

  7. S5中新增的Array方法详细说明

      ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...

  8. 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]

    前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能.基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用.同时,它减少了泛型类及泛型方法中的转型,确保了类型安全.委托 ...

  9. QT中PRO文件写法的详细介绍

    学习Qt时,发现有些知识看了不经常用就忘了,以下是书本上写的一些关于qmake的相关知识,自己看后,打算把一些经常用到的记下来,整理整理. Qt程序一般使用Qt提供的qmake工具来编译. qmake ...

随机推荐

  1. ant-design的Table组件自定义空状态

    Table,是antd中一个我们经常使用的组件,在官方文档中给出了非常详细的实例以及API, 但在我们在使用过程中可能需要根据项目的要求来定制空状态时的展示. 什么是空状态呢? 在antd的官方文档中 ...

  2. JS-上下文练习

    /** * 因为JS没有块级作用域,if里面的foo又是以var形式声明的,所以会被提升上去, * 被赋值为undefined,之后undefined代表false,所以会进入if语句块, * foo ...

  3. Asp .Net Core 2.0 登录授权以及前后台多用户登录

    用户登录是一个非常常见的应用场景 .net core 2.0 的登录方式发生了点变化,应该是属于是良性的变化,变得更方便,更容易扩展. 配置 打开项目中的Startup.cs文件,找到Configur ...

  4. 6.移动端自动化测试-小知识 if __name__==’__main__:是什么意思?

    1 引言 在Python当中,如果代码写得规范一些,通常会写上一句“if __name__==’__main__:”作为程序的入口,但似乎没有这么一句代码,程序也能正常运行.这句代码多余吗?原理又在哪 ...

  5. 前端基础(七):Toastr(弹出框)

    Toastr 简介 jquery toastr 一款轻量级的通知提示框插件. 网页开发中经常会用到提示框,自带的alert样式无法调整,用户体验差. 所以一般通过自定义提示框来实现弹窗提示信息,而jq ...

  6. freeertos中关于PendSV中断服务函数的解析

    __asm void xPortPendSVHandler( void ) { extern uxCriticalNesting; extern pxCurrentTCB; extern vTaskS ...

  7. 02_ Flume的安装部署及其简单使用

    一.Flume的安装部署: Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境 安装包的下载地址为:http://www-us.apache.org/dist/flume/1. ...

  8. 01 js数据类型

    1.不管什么语言,上来就应该是数据类型了.js也不例外.那么基本的数据类型我们有,boolean, number, string, null, undefine, symbol, object, fu ...

  9. 遍历二叉树 - 基于队列的BFS

    之前学过利用递归实现BFS二叉树搜索(http://www.cnblogs.com/webor2006/p/7262773.html),这次学习利用队列(Queue)来实现,关于什么时BFS这里不多说 ...

  10. Excel 中大量图片如何快速导出? 转载自:http://www.zhihu.com/question/20800948

    我的办法如下,应该也不慢. 如果是针对以.xlsx为后缀的表格(Excel2007以上的版本),这样做:显示后缀的情况下,直接重命名,把后缀.xlsx改成.rar或者.zip,然后解压出里面的图片文件 ...