石器时代LA官方

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

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

[复制链接]

4

主题

11

回帖

24

积分

新手上路

Rank: 1

积分
24
石币
2
发表于 2018-4-17 07:44:06 | 显示全部楼层 |阅读模式

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




可以看到他在最後兩個參數給的是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%


回复

使用道具 举报

4

主题

17

回帖

21

积分

新手上路

Rank: 1

积分
21
石币
0
发表于 2023-6-5 15:03:22 | 显示全部楼层
多年的疑惑,就这么解开了,感谢大佬
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 20:00 , Processed in 0.115975 second(s), 21 queries .

Copyright © 2001-2023, Tencent Cloud.

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