- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从程序角度看待阴阳师抽卡概率等答疑要点
从程序角度看待阴阳师:抽卡概率等答疑
以一个程序员的视角看阴阳师这款游戏,包括抽卡概率、游戏机制、前段时间的bug产生等问题的答疑带给大家,看看都有哪些全新的认识。(程序员@老陈就是我分享)
1.大家最关心的SSR抽卡问题
首先,程序开发里面,写一个抽卡的随机程序非常简单,java里面一个random()函数就可以搞定。但这种随机是真正的随机。事实看来,SSR的随机并不是这么简单。
我觉得,写SSR抽卡函数的组,一定添加了其他的影响因素,其中比较经典,流行的就是
a.根据你的日常上线时间决定概率。当大家登陆自己服务器账号的时候,都会显示上次登陆是几天前,这个时间用一个数据库来记录很容易。上线时间越不频繁,出ssr的几率越大。
b.整点抽卡,半夜抽卡。楼主认为,这个说法完全不成立。从计算机科学的角度来看,时间是一个服务器所掌握的,而抽卡出ssr的函数是由单独独立的程序所掌握的。一个抽卡函数,如果想要通过服务器时间调整爆率,这个访问时间是很大的,运行速度也会很慢。最关键的是,抽卡函数一定是被封装起来的,程序接口处加入时间这一元素,使得这个函数要实时返回服务器时间,实时把服务器时间转化成抽奖概率,也就是说,24小时这个函数要始终不间断的工作,不可能。
c.月见黑被高速公鹿中断。抽卡次数被记录下来很容易,所以月见黑被SSR恶意中断也是绝对有可能的,这个程序不难写,不排除网易有故意的嫌疑。
d.非洲脸,欧洲脸。我认为,建号当初,附加这方面属性也并不是件难事。每个账号都由数据库存储,你的账号id(注意,是你账号对应的那串数字,不是用户名,也不是邮箱名)在数据库里叫做主键,这个东西就相当于你的身份证号码,无论你如何改名,如何整容,如何改生日,你的身份证号码不会改变。建号的时候,只要在你的数据里面加上一个“出卡概率”,在这个概率的基础上,通过上文提到的a,c来做加减乘除(或者更复杂的计算)。但总体来讲,你的基础概率不会有太大变化,所以,氪不改命,有时候你得信。
第一点暂时就想到这么多,楼主也是自己瞎说的,大家仅供参考。
伪代码大概这样吧,楼主写java的,随便写了个。
public double chouKa(date, time, probability){
Date date = new Date();//记录登陆时间
Time time = new Time();//记录抽卡次数
date = read(Database(date));//从数据库里读登陆时间
time = read(Database(time));
SSR_gailv = probability - 0.1 * chuli(date) + 0.2 * chuli2(time);
return SSR_gailv
}
2.说一下御魂爆率
一个御魂一共有5种属性,每种属性又有几种数值。(虽然你的攻击有300多,但从初始加到300多,只会出现几种特定的数值)。这5种用链,数组,或者map存储。
每个御魂的强化属性并非一出生就确定~
这里拿链表举例子,我并不知道网易底层到底用的什么结构,个人感觉会用链表,因为可以节约地址空间。当一个新御魂产生的时候,会产生1到5个不同的结点,每个结点里面存储了属性,数值。当你的御魂等级达到特定等级,会产生新的结点。
这里面想给御魂的属性添加概率也是简单的一比,并没有什么玄学一说,纯是看概率的事情。至于针对某个人的脸(非洲脸,欧洲脸),个人认为不太可能,因为御魂的数量庞大,种类很多,如果每次都要访问数据库里存储你“脸”的数据,访问量太大了,不可能。所以,同志们,肝吧,肝可以改命。
下面简单写个伪代码:
class Node(){
public string shuxing;
public int dengji;
public Node(shuxing,yuhun){
this.shuxing = shuxing;
this.yuhun = yuhun;
}
}
public Yuhun(){
public LinkedList yuhun(){
List yuhun = new LinkedList();
for(int i = 0; i random(); i++){
yuhun.add(Node(shuxing,yuhun)); //给一个御魂添加属性,以及属性的等级。
}
//升级和升级后随机加属性的代码不写了,懒
}
}
3.说一下前一阵的bug事件
先举个简单的例子。每次你刷完某章的副本之后,也许会出现小纸人,有的小纸人可能送你体力。在你点击体力之前,仔细的你会发现,那个体力早已经加到了你的总体力上面了。所以,小纸人出现,和你加体力,是在同一时间发生的。这个叫做,多线程。
bug事件应该属于多线程的问题。多线程在计算机科学的操作系统
您可能关注的文档
- 人教版七年级下册第六章第二节神经系统的组成.ppt
- 歇后语的翻译.ppt
- 人教版九年级化学上册期末复习资料-第三单元 物质构成的奥秘(无答案).doc
- 人教版七年级下册地理6.2亚洲的自然环境课件 (共54张PPT).ppt
- 人体解剖学_中枢神经系统.ppt
- 人教版九年级物理全册 17.1 电流与电压和电阻的关系 课件 (共16张PPT).ppt
- 人教版九年级物理全册17.4欧姆定律在串并联电路中的应用 课件 (共18张PPT).ppt
- 欧式风格——锦道软装.ppt
- 正义是人类良知的“声音”(授课用).ppt
- 人教版七年级生物《生物与环境组成生态系统》(第1课时).ppt
- 部编版二年级下册道德与法治 期末测试卷及完整答案(必刷).docx
- 部编版二年级下册道德与法治 期末测试卷及完整答案(考点梳理).docx
- 2023年长郡教育集团七年级数学第一学期期末质量检测模拟试题含解析.doc
- 2023年长春市二道区七年级数学第一学期期末经典试题含解析.doc
- 部编版二年级下册道德与法治 期末测试卷及完整答案(历年真题).docx
- 部编版二年级下册道德与法治 期末测试卷及完整答案(各地真题).docx
- 部编版二年级下册道德与法治 期末测试卷及完整答案(名校卷).docx
- 部编版二年级下册道德与法治 期末测试卷及完整答案(夺冠系列).docx
- 2023年浙江杭州拱墅锦绣育才数学七上期末学业水平测试模拟试题含解析.doc
- 部编版二年级下册道德与法治 期末测试卷及完整答案(典优).docx
文档评论(0)