【发布时间】:2018-02-17 15:19:39
【问题描述】:
我试图弄清楚如何从这样的值表中选择一个具有自己给定机会的随机项目:
itemlottery (npcid, item, chance) VALUES (9100100, 1402011, 167)
itemlottery (npcid, item, chance) VALUES (9100100, 1041082, 267)
itemlottery (npcid, item, chance) VALUES (9100100, 1322003, 1668)
itemlottery (npcid, item, chance) VALUES (9100100, 1061033, 89)
itemlottery (npcid, item, chance) VALUES (9100100, 1051001, 89)
itemlottery (npcid, item, chance) VALUES (9100100, 2000005, 188983)
所以基本上我可以从 SQL 中获取项目和机会,但是用 java 硬编码会更好吗?
无论如何,这些是我需要的值(列表实际上包含超过 50 多个项目)。
现在我的问题是如何读取这些值,然后根据 Java 中的这些机会生成随机项?
这是一个游戏 NPC,它会根据机会给玩家一个随机的彩票项目。
编辑: 你必须得到一个项目,你不能得到多个项目。 机会越高,获得该物品的可能性就越大。
【问题讨论】:
-
在这个数据集中,机会值越大,找到该对象的几率就越大,还是相反?是否可以获得零个或多个对象?
-
我用@SimonBerthiaume 的更正编辑了我的原始帖子
-
@Forgets 。 . .您的机会如此不成比例,您不妨一直选择最后一个。
-
@GordonLinoff 这只是我发布的一个简短的一瞥,原来的 sql 有超过 100 个项目有机会。我只包括了最高值 189k 和最低值 89。