首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算游戏中的概率成功率:x+ random(12) => y

如何计算游戏中的概率成功率:x+ random(12) => y
EN

Stack Overflow用户
提问于 2012-12-07 13:10:04
回答 1查看 556关注 0票数 1

我正在尝试编写一行Ruby代码,用于计算文本冒险游戏中简单技能测试的可能成功率。测试是"if x+ random(12) => y then“。如何计算在Ruby中此语句为真的概率成功率?

在游戏中,玩家有一定的技能,有时必须测试这些技能加上一个随机数字,以获得更大或等于给定的难度数字。我想要计算能够赢得技能测试的成功率百分比。

作为冒险游戏中的一个例子,你试图在丛林中追踪一些动物。要做到这一点,你必须测试你的跟踪技能。例如,如果您的跟踪技能为3,并且您在1-12之间添加了一个随机数,则您需要至少获得9或更高的分数才能成功。基本上:技能+随机(12) => Difficulty_Number。我想在他们上场前展示一个成功率百分比,看看他们成功的机会有多大。

那么,在Ruby中,用什么算法来计算出我当前技能得分的成功机会呢?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-07 13:17:14

你可以做到的。

代码语言:javascript
运行
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13757270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档