石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 33|回复: 1

[基础教材] 融合寵物遺傳技能的機率

[复制链接]

4

主题

15

帖子

24

积分

新手上路

Rank: 1

积分
24
石币
2
发表于 6 天前 | 显示全部楼层 |阅读模式

本篇探討服務端原始碼中寵物遺傳技能的機率




可以看到他在最後兩個參數給的是Skill1Skill2分別就代表主體與客體一。進入到這個函式後會對這即將產生的蛋蛋做一些參數設定,其中我們直接跳到技能遺傳的部分。

遺傳的程式碼片段在這邊:

可以看到他用一個RANDmacro來決定要遺傳哪一隻的技能。再來我們來看看他的macro是怎麼定義的,如下:
其中RAND_MAX=32767,我們把x=0,y=1帶入並化簡可以得到以下這個式子:
(int)( 2*(一個0~32767的隨機數) / 32768) 其中如果黃色的部分大於1那結果就會是遺傳主體的技能,反之小於1就會是遺傳到客體一的技能。當隨機數大於等於16384時就會是主體技能,0-16384一共16385個數字,而16385-32767也是16385個數字,機率為50%50%


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|石器时代LA官方

GMT+8, 2018-4-23 11:42 , Processed in 0.131977 second(s), 22 queries .

快速回复 返回顶部 返回列表