【发布时间】:2018-01-04 08:04:41
【问题描述】:
我有 5 个职业(传奇蛋、稀有蛋、普通蛋、龙食、金币)。从 Item 类继承的所有项。
据推测,输出是用户正在玩一个扭蛋机,他们可以在其中获得任何这些项目。但是我想设置获得特定物品的机会百分比,这样就不会那么容易获得稀有物品。
Legendary Egg = 1%
Rare Egg = 10%
Common Egg = 20%
Dragon Food = 20%
Gold = 29%
什么是执行此操作的有效方法?我首先将所有项目放在一个数组中并使用 rand()% 但我意识到我无法设置获得它们的机会。我想过使用类似的东西
if (value < 0.1){
std:: cout << "You got a legendary egg!";
}
但我觉得这会有点低效,因为我被告知要避免使用 if else 块。
*物品属于自己的(单独的)类别,因为它们具有不同的能力
【问题讨论】:
-
为什么效率会低?
-
但是我觉得效率会有点低。你为什么会有这种感觉?
-
“因为我被告知要避免使用 if else 块”什么?为什么?
-
@DimChtz 已编辑!我的老师还告诉我,如果不这样,继续写可能会很乏味,并且可能有更好、更有效的方法,因为我可以有 100 个项目。
-
你的百分比加起来不应该是 100%,而不是 80%?