0

いくつかの古いコードを調べます

<!--- RANDOMLY DECIDE IS THIS PERSONS A WINNER 1 IN 8 CHANCE--->
<cfset attributes.random_point = RandRange(1, 8)>

<cfif attributes.random_point eq 5>
  WINNER
<cfelse>
  You got nothing!
</cfif>

これを10進数のオッズに変換するにはどうすればよいですか?これからは、10進数のオッズを使用して、xを取得する際の変化を判断したいと思います。たとえば、xを取得する可能性は1.10または1.11です。

4

2 に答える 2

2

私が正しく理解していれば、勝つ可能性の割合を小数として定義し、Rand()に依存しますが、これはまだ理想的ではありません。

<cfscript>
    numChanceToWin = 0.15;  // <= this == winner == 15% chance to win
    numRandom = Rand(); // decimal from 0 to 1

    if (numRandom <= numChanceToWin ) {
        // Winner
    } else {
        // Loser
    }
<cfscript>

numChanceToWin = 1/8;また、設定または設定することにより、1/8の定義で機能しますif (numRandom/numChanceToWin <= 1) { // Winner

于 2012-04-17T14:52:24.520 に答える
1

私は単にattributes.random_pointをrandrange(1,100)/100にします

<!--- RANDOMLY DECIDE IS THIS PERSONS A WINNER 1 IN 8 CHANCE--->
<cfset attributes.random_point = RandRange(0, 100)/100>

<cfif attributes.random_point lt 0.11>
  WINNER
<cfelse>
  You got nothing!
</cfif>
于 2012-04-17T14:46:36.177 に答える