计算追随者们对所有任务完成程度的计算器

[followerBest]以不变应万变,计算追随者们对所有任务的完成程度的计算器,很久很久以前...说远了

随着要塞的不断推进,当我手中的追随者超过25个时,遇到了人生的一次抉择,嗯,把谁遣散掉。

在那时我就萌生了一个想法,有没有一种算法来为所有的追随者评个分数排个名次呢?

后来虽然借助nga各位大神的工具和数据做了一个简易的excel表格,但每次使用都要手工排名,版本更新时还要更新任务数据。

于是在某一天就在想,其实当前规则下一个任务需要的技能变化就有数的一些,那么能不能把这些任务都穷举出来,然后看看我都能完成哪些?还需要完成哪些?

这种想法其实就是所谓36金刚的思路。

但36金刚并一定是最优解,假如凑齐了36金刚,很多任务都会有很多种组合方法,也就是所谓的人才浪费。

有没有一套追随者,他们不到25人,但他们能穷举出所有的可能出现的任务呢?

为了解决这个问题,我便着手开始制作这个计算器。

如有不兼容问题,请使用各浏览器的“极速模式”

下载整个文件夹(或文件夹内的fb.css,fb.js,followerBest.html,jquery-1.11.2.min.js四个文件)后,运行followerBest.html文件即可。IE系列浏览器需要允许本地脚本运行。

已放入早期我的一个追随者字符串,供大家把玩使用。

使用方法

1、请下载并安装随从信息导出插件[FollowerExport]将追随者信息导出;

2、将导出后的字符串复制到导入界面中;

3、点击上方的"导入"按钮即可导入追随者数据,并会自动切换到"一览"界面;

4、在"一览"界面中可以浏览您的所有追随者数据,当前暂定只计算紫色品质及以上的追随者;

其中"得分"一项根据统计的所持有的技能数进行评分所得。

持有的技能总数越少,该技能的评分越高,持有该技能的追随者评分越高;

5、点击"计算"按钮即可进行计算,该界面罗列了"每个任务最多需要6个技能,每个技能最多出现2次"的前提下所有可能的任务(共计1554个)。其中:

绿色表示该任务3个追随者的6个技能都能匹配;

黄色表示2个追随者至少能匹配4个;

红色表示1个追随者至少能匹配2个;

灰色表示该任务没有人能匹配该任务;

6、点击"分析"按钮即可浏览任务完成情况和欠缺技能、组合情况。

可以结合"一览"中的任务排序功能来确定让谁来吃技能书

使用注意

1、本工具采用html+css+js编写,所有源码可见。因水平问题难免出现逻辑或兼容性问题,恳请大家指正;

2、本工具采用贪心算法,即总是能找到可行解,但不一定找到最优解。所以再次点击"计算"按钮可能会出现其他的解;

3、计算后可以返回"一览"界面,可以查看追随者能匹配到的任务数量,并可以点击表格标题进行排序

4、对于任务匹配采用强匹配方式,即只有追随者的两个技能都匹配上任务时,该追随者才被记入任务队伍。

所以即使是黄灯的4技能匹配,在实际操作中也可以找到第三个追随者匹配5技能;

5、本工具未考虑追随者特长产生的印象,所以实际操作中会比计算的结果好得多;

6、新版本中暴雪开放了7技能匹配的任务。嘛嘛,三个人是做不到7技能完全匹配的,其实还是6技能匹配+特长增效而已。

强行假装其实也是6技能任务。。。

7、各类数据容器,请配合console或firebug使用:

followerList(追随者数据列表),

skillList(持有的技能统计列表),

questList(所有的任务列表),

analBox(分析数据存放容器)

8、开发时使用chorme作为唯一测试工具,开发后做了一些兼容性测试,但不保证所有兼容(比如手头没有IE6)

如有不兼容问题,请使用各浏览器的“极速模式”。因为很重要,所以说第二遍

版本更新说明

1.0.1、

1、增加了计算界面的可读性。现在将鼠标放在圆圈上可以提示其任务所包含的技能以及参与的追随者。点击圆圈可以固定提示框位置。

2、对“分析”中的结果进行了排序。

1.0.0、

基础功能已完成,发布正式版本。导入、一览、计算、分析各个功能基本实现。

已知的问题

1、多次点击"一览"按钮会出现列表跳动;

2、"一览"界面中按照得分或者任务排序后,序号不会重排;

3、再次点击"计算"按钮可能会出现更优解;

4、因时间和个人能力问题,采用了贪心算法,会导致无法总是计算出最优解。

下次更新预览

1、修正已知问题;

2、增强计算的算法;

3、增强"计算"界面的可读性;

4、增加"分析"界面中的排序功能