我怎样才能让某件事在一定比例的时间内发生?(Javascript)

How can I let something happen a certain percentage of the time? (Javascript)

本文关键字:时间 Javascript      更新时间:2023-09-26

我是javascript的菜鸟,对不起,如果这是一个愚蠢的问题。我希望某件事在一定%的时间内发生。

因此,如果用户单击一个按钮,x%的时间将发生情况A(我们称之为成功),其他时间将发生情况B。

问题是,用户成功

越多,用户下次成功的机会就越大。

有什么想法吗?

这是一个可行的解决方案。用户开始时有额外的奖金0,他成功越多,以后成功的机会就越高。每次按下按钮时,都会生成一个介于 0 和 1 之间的随机数,您会看到该数字加上bonus是否大于某个数字(在我的示例中为 .9)。

var bonus=0.0;
$("#percentage").on("click",function(){
  var r=Math.random();
  if(r+bonus>.9){
  	$("#succeed").text("Success");
    bonus+=.05
  }else{
  	$("#succeed").text("Failure");
    }
   var p=Math.round(bonus*100);
  $("#chance").text((p<100?p:100)+"%+");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type=button Value="Click Me" id="percentage">
<div id="succeed">
</div>
<div id="chance">
</div>