我正在尝试编写一行Ruby代码,用于计算文本冒险游戏中简单技能测试的可能成功率。测试是"if x+ random(12) => y then“。如何计算在Ruby中此语句为真的概率成功率?
在游戏中,玩家有一定的技能,有时必须测试这些技能加上一个随机数字,以获得更大或等于给定的难度数字。我想要计算能够赢得技能测试的成功率百分比。
作为冒险游戏中的一个例子,你试图在丛林中追踪一些动物。要做到这一点,你必须测试你的跟踪技能。例如,如果您的跟踪技能为3,并且您在1-12之间添加了一个随机数,则您需要至少获得9或更高的分数才能成功。基本上:技能+随机(12) => Difficulty_Number。我想在他们上场前展示一个成功率百分比,看看他们成功的机会有多大。
那么,在Ruby中,用什么算法来计算出我当前技能得分的成功机会呢?谢谢!
发布于 2012-12-07 13:17:14
你可以做到的。
def success_rate(skill, success_level, random_range=12)
delta = success_level - skill
return [100 - (delta.to_f / random_range * 100), 100].min.round(2)
end
https://stackoverflow.com/questions/13757270
复制相似问题