求一个小游戏的算法
游戏需求是这样的:
用户在出生的时候,就有一个运气值 x,这个运气值负责控制游戏事件的发生的,游戏事件设置了触发频率 y ,还有游戏事件的随机值 z;
求一个算法,能让用户根据自己的随机值,并且根据游戏的触发频率,来决定是否触发游戏事件。
1、用户在一个场景里,比如挖宝贝。他的幸运值是:x
2、这个场景里有 3 个事件。
比如是:事件一 A1,事件频率是 y1 ,事件随机值是 z1;
比如是:事件二 A2,事件频率是 y2 ,事件随机值是 z2;
比如是:事件三 A3,事件频率是 y3 ,事件随机值是 z3;
能否有一个算法,可以计算出来,者三个事件,哪一个触发,或者哪两个触发,或者都触发?
备注:这里的 z1,z2,z3 可以是变化的。
关于 LearnKu
想要知道 x y z 之间的关系。感觉你说得触发事件 = xyz ,然后再给触发事件一个值。
@Gebriel 比如,
1、用户在一个场景里,比如挖宝贝。他的幸运值是:x
2、这个场景里有3个事件。
比如是:事件一A1,事件频率是 y1 ,事件随机值是z1;
比如是:事件二A2,事件频率是 y2 ,事件随机值是z2;
比如是:事件三A3,事件频率是 y3 ,事件随机值是z3;
能否有一个算法,可以计算出来,者三个事件,哪一个触发,或者哪两个触发,或者都触发?
备注:这里的 z1,z2,z3 可以是变化的。
也就是说 是看事件的频率来生出事件,然后这个生出的事件的随机值再和用户幸运值做剩下的操作?
@手残哈哈 是的
感觉和梦幻西游的挖宝图一样
@andyzu 不知道满足你的要求不
@手残哈哈 你的 else 那里面我没有明白。为什么要 $proSum -= $proArrValue ?? 然后 -- (减减)之后要在循环没有什么意思吧?
不过你这个给了我一个思路
@Gebriel
else 减去的是你概率数组里面的值,也就等于是把当前循环到的这个概率排除掉
比如:
概率数组=[1,2,3];
概率和=6
循环开始到else就是 6 -1 = 5
这个5 就可以看做是 概率数组变成了 [2,3] 概率和就等于5 一次一次的排除,就至少会有一个概率数组里面的值满足条件