如何编程';机会';
本文关键字:机会 编程 何编程 | 更新日期: 2023-09-27 18:27:22
我有一个想法,但不知道如何做:D基本上就像在游戏中一样,例如,每6个小时你就可以打开一个箱子,在那里你可以免费拿一些东西。现在我想有一个用户可以每6小时打开一次的箱子,我在mysql服务器中编写了项目,每个项目都为用户提供了经验点。但是怎么做呢?比方说数据库有15个项目,现在每个项目都有它的机会值nothing = 75% of getting it
sword_1 = 15% of getting it
sword_2 = 30% of getting it
知道怎么做吗?
-
定义%的范围以获取项目示例-剑_1=0-15%,剑_2=15-45%请注意,上面的数字加起来并不是100%,所以除非你真的想返回不止一次,否则有时。。以上的范围会导致一无所获。如果你想在一个卷轴上获得多个奖励,只需相应地调整范围即可。
-
生成一个介于0和100之间的随机数。对于生成数量在该范围内的项目,这些是您在该轮中赢得的奖励。
您可以为表中的每个项分配一个数值,获得它的百分比将是它与下一个最低数字之间的差值。
Nothing, 60 (60% chance)
sword_1, 70 (10% chance)
sword_2, 100 (30% chance)
确保你的最大项目是100。
然后,您可以使用随机数从该表中进行选择:
SELECT * FROM ChestItems WHERE ChanceValue < FLOOR(RAND() * 100) ORDER BY ChanceValue DESC LIMIT 1;
有几种(而且更好的)方法可以做到这一点。这只是一个简单的例子。