明日方舟吧 关注:1,747,124贴子:81,361,820

回复:[罗德岛 人力资源部] FAQ

只看楼主收藏回复

大佬网站挂了?


IP属地:云南来自iPhone客户端89楼2019-05-27 11:43
收起回复
    大佬这回网站真挂了?


    IP属地:北京来自Android客户端90楼2019-05-27 22:33
    收起回复
      用电脑网页版打开,选好以后大概在出来的选项那一堆的右上角有很像排列方式的1234这是什么意思?每一种路线的前几名估计值吗?


      IP属地:河北来自Android客户端91楼2019-05-28 20:00
      回复
        哦哦哦,懂怎么用了


        IP属地:河北来自Android客户端92楼2019-05-28 20:03
        回复
          提个小建议,就是网站选择tag的过程,可以这样:最少选一个tag时,然后出现时间tag(避免一些人不选时间就开始$GENE了),选择了时间tag后,出现美刀$按钮,点了后最后出现GENE按钮,我觉得这个过程至少能让用的人不会漏步骤然后跑来说网站bug了。总之就是做一个视觉引导的效果,半提醒式的让用户做一个完整的GENE(粗略估计帖子里问的有一半都是基本操作流程不对导致的)。
          另外就楼主有没有考虑把$按钮和GENE做成一个按钮,感觉用户不需要了解估值这个过程应该也ok,这样还少了一步骤,也不会有人会认为估值和出货有关系了……
          最后想说作为一个工具网页来说楼主已经做的相当完善了,该有的都有,该解释的一句都不少,但是这是一个说明书被叫做“不用读”的时代,上面的建议也实属无奈之策。


          IP属地:陕西93楼2019-05-29 16:21
          收起回复
            非常、非常感谢工具非常实用,帮助很大。
            我看了这个FAQ和之前那篇原理介绍,想请教一下公招的大致算法,不知道我理解得对不对:
            玩家输入0—3个tag和时间,程序会分别决定每个tag是否被划,存在冲突的tag必被划,其他情况被划的概率是时间的函数。这一部分完成后,程序拿着剩余的tag去列出同时拥有这些tag的干员。现在列出了一个可能出现的干员池,每位干员有自己的若干个tag,我们之前选择的tag是这些tag的一个子集。每位干员分别进行下一次判定,即对这个子集在干员的所有tag集中的补集进行判定。如果这个补集中所有元素均被划掉了,那么再进入下一个可能出现的干员池。在最后这一组干员中,再优先出低星,次出高星的,同等星级的干员中随机出现……
            比如这张截图里面,假如我选了医疗+治疗,则先判定这两个tag。判定它们都没有被划,列出表中这七位干员。然后逐一判定,例如芙蓉要划掉远程和女性tag才会出现在下一轮,而华法琳需要划掉远程、女性、支援、资深这四个,所以概率更低。如是在这七位干员中选出若干进入下一次判定,这次依赖星级,低星概率高高星概率低,随机选出一个出货。
            又比如您在这条回复里提到的,假如我选了输出+生存,则玫兰莎和杰西卡一同出现在列表中,玫兰莎要划掉近卫、近战、女性进下一轮,杰西卡划掉狙击、远程、女性进下一轮,最后玫兰莎星级低所以更容易出?
            说了这么多,给您添麻烦了我看原理文里列出的部分服务器返回代码和大佬的回复按自己理解说的。我是程序和算法苦手,当初连C++课都是重修了才过的,理解起这个实在是有些困难


            IP属地:新疆来自iPhone客户端95楼2019-05-30 01:38
            收起回复
              1. 不认为鹰角的程序员会这样做, 包括有的人经常讲的9个小时内不停的一个一个抽, TAG/干员一个一个筛之类的逻辑, 这些做法以我的角度来看保持高度怀疑, 我不说绝对吧, 几乎程序员压根都不会考虑、或者说是想都不会去想这件事情, 因为效率极其低下, 这是大忌. 如果这么简单的一个问题都要这样做, 那整个应用存在多少这样的问题? 算一次的时间也就是毫秒级而已, 9个小时不停的算, 除了浪费性能浪费电就没有任何意义... 维护起来还麻烦.
              2. 先跟着你的思路来, 你选择 [医疗干员] + [治疗] , 先判定这两个TAG的话, 都没划时, 先不说是不是逐一判定好了, 但"例如芙蓉要划掉远程和女性tag才会出现在下一轮", 这句话不晓得是我理解错误还是怎么样, 划掉远程跟女性时芙蓉就被扔出池子外了. 她不可能出现在下一轮判定中了. 实质上这样造成的结果是, [所有的远程] 跟 [所有的女性] 角色全部出去了, 第3档时间的情况下现在剩下的只有角峰一个人. 100%出他.你可以在首页通过划标签模拟出这个结果, 如下图:
              华法琳同理, 系统划标签的特征是, 只要某个标签被划掉, 那么出货结果必定不带这个标签. 而标签被保留时, 出货结果必定携带该标签.
              3. 我直接用伪代码写一下系统出货方法.
              >>> A. 一次减法 (玩家层面)
              1, 首先, 你进入网站看到所有白色背景, 且不带特殊标识符的就是公招能出的所有角色(=有效数), 这就是基础目标池 $pool
              2, 你开始选TAG与时间(做减法), 结合系统本身保留的标签(你不用选它默认就在), 就有了一个标签数组 $tagArray
              (你的选择导致的是过滤掉了一部分角色, $pool 被缩小了, 也就是网站首页你选完后出现的所有白色背景的角色, 匹配数由高至低, 最小为 0 )
              >>> B. 二次减法 (系统层面)
              > 假设先TAG后星级
              1, 首先, 系统通过一个 rand() 函数, 随机抽取(划掉) $tagArray 数组中1个或N个下标所指的标签.
              用这些被抽中的标签去对做排除(做二次减法), 就导致 目标池 $pool 进一步被缩小了.
              2, 然后, 统计目标池 $pool 里选择剩下的角色里分别有几星的角色, 例如有[1, 2, 3]
              3, 最后, 通过一个类似寻访的 gotcha() 函数(其实可以直接共用同一个函数, 调数值, 做排除就成), 决定给你 [1, 2, 3] 中的哪一种, 例如是 3, 那么就从目标池 $pool 中所有3星的里面随机拿一个给你. 完事.
              > 假设先星级后TAG
              1, 首先, 统计目标池 $pool 里分别有几星的角色, 例如有[1, 2, 3, 4, 5]
              2, 然后, 通过一个类似寻访的 gotcha() 函数, 决定给你 [1, 2, 3, 4, 5] 中的哪一种, 例如是 3
              3, 最后, 直接去目标池 $pool 中取出所有3星角色, 随机拿一个给你, 同时顺便检测下是否有不兼容的标签, 有就划掉它(例如芙蓉是不带支援的, 如果你的 $tagArray 里有支援, 那就干掉它), 完事.
              -------------------------------------
              写过数据库的肯定知道, 上面这几个步骤, 例如生成目标池 $pool, 就是一句代码 SELECT 就完事没错吧.
              从 $pool 中出货给你, 也就是一句 SELECT 没错吧.
              外带 rand() 、gotcha() 这两个其实可以就是同一个, 那么就只是一个函数对吧.
              总共就1个函数2句代码就能搞定的事情, 这样不是简单高效又易维护? 说要去一个一个判定, 程序员会喜欢自虐么?
              之前我也讲过还有N种方法, 但可以看到的是, 无论哪一种, 都是不可控的, 所以讨论这个问题没有实质意义, 玩家层面只能在步骤A的一次减法里进行操作, 做到最优选.
              如果一定要说这两种, 我个人倾向于用先星级后TAG的方法可能性更高, 因为更简单, 调整、维护起来都更方便. 在实现上也更符合客户端操作逻辑, 面对对象.
              -------------------------------------
              上面的步骤中并没有讲标签显示为灰色的问题, 我说一下, 他就很简单一个函数把当次判定结果在心跳包里给你发过来就是了, 在时间到了之后直接把这个划还是不划的最终结果拿去对 $tagArray 操作就完事了. 没几句代码就可以实现. 9个小时一直不停的单抽, 哪个程序员会这样做我不敢想象.
              -------------------------------------
              系统怎么刷新5个TAG, 而为什么好TAG有成堆出现的状况, 我也顺便讲一下(为什么我要写估值以及为什么写成这样也是同一个逻辑):
              1. 已知用户最多只能选3个TAG对吧.
              2. 那么每一个接受公招的角色的最优选在最开始就固定了是个常量没错吧.
              3. 怎么刷新TAG其实已经出来了, 当 gotcha() 函数 决定这次给你一个出高星的机会, 例如是4星, 接下来刷新tag的函数就这么写:
              首先, 把4星角色的估值都加起来求一个平均值 $average.
              然后, 把系统所有的TAG分成两个数组, 数组A装 标签估值<=1/5平均值的, 数组B装 标签估值>=1/5平均值的.
              最后, 要的就是一个 $totalValue之类的总值要 >= 4星角色的估值平均值 $average
              这就完了. 导致的结果就是, 你经常看到 快速复活带4个垃圾, 因为它价值挺高的, 随随便便就把 $totalValue 的需求条件满足了. 爆发也是一样. 剩下缺的几个标签就从 数组A 里随便给你来几个补足5个位置即可.
              而当 gotcha() 决定给你出5星的机会时, 由上可知, 即便数组B里大量都会是高价值标签, 但5星角色的 $average 也是很高的, 要满足 $totalValue 而又没有优先抽中 资深干员 的话, 其他那些控场、爆发、位移啥的要是不成堆出现怎么凑得足?
              6星同理, 只不过公测后改成9小时必出了, 有了一些区别.
              所以系统真心给你机会你都抓不着那就真的是无解了. 至于最后给你划掉, 你就当他是后悔了吧, 在最后出口处加了一个函数做总开关而已. 我也经常这么写.


              IP属地:湖北96楼2019-05-30 06:09
              收起回复
                我进不去这个网页了


                IP属地:安徽来自Android客户端98楼2019-06-04 08:50
                收起回复
                  谢谢大佬


                  来自手机贴吧99楼2019-06-04 18:09
                  回复
                    大佬,问一下,现实时间等9小时和选中9小时后立即招募得到的结果一样吗?


                    IP属地:辽宁100楼2019-06-05 11:48
                    收起回复
                      我想问一下……那个支付宝是啥意思呀……


                      IP属地:上海来自iPhone客户端102楼2019-06-19 23:38
                      回复
                        支持大佬 请问只选高资出的那些六星概率一样么?


                        IP属地:西藏来自iPhone客户端103楼2019-06-21 12:04
                        回复
                          大佬打不开了


                          104楼2019-08-18 05:00
                          回复
                            有的干员后面有支付宝图标和紫色小酒杯图案是什么意思啊


                            IP属地:山东来自iPhone客户端105楼2019-08-30 22:26
                            回复
                              大佬,小车要怎么造啊


                              IP属地:重庆来自iPhone客户端106楼2019-11-17 07:38
                              回复