2017-03-22 101 views
0

我想在ActionScript3中製作輪盤賭輪。有什麼辦法可以預測下一個隨機數嗎?

我有其他輪盤的全部來源,但它產生旋轉後的下一個數字(Eventclick),所以我知道下一個數字,因爲我點擊旋轉按鈕(在球停止旋轉之前,值變化比視覺更快,我知道它落在哪裏)。

在我的輪盤賭中,我想知道下一個數字是什麼,在玩家點擊旋轉按鈕之前。對不起,如果我不能解釋我想要的,但希望你會明白。

package de.polygonal.core.math.random { 

    public class Random extends Object 
    { 

     public function Random() : void 
     { 
      return; 
     }// end function 

     public static function rand() : int 
     { 
      return Math.random() * 2147483647; 
     }// end function 

     public static function randRange(param1:int, param2:int) : int 
     { 
      var _loc_3:* = param1 - 0.4999; 
      var _loc_4:* = param2 + 0.4999; 
      return _loc_3 + (_loc_4 - _loc_3) * Math.random() + 16384.5 - 16384; 
     }// end function 

     public static function randSym(param1:int) : Number 
     { 
      var _loc_2:* = -param1 - 0.4999; 
      var _loc_3:* = param1 + 0.4999; 
      return _loc_2 + (_loc_3 - _loc_2) * Math.random() + 16384.5 - 16384; 
     }// end function 

     public static function randBool() : Boolean 
     { 
      return Math.random() < 0.5; 
     }// end function 

     public static function frand() : Number 
     { 
      return Math.random(); 
     }// end function 

     public static function frandRange(param1:Number, param2:Number) : Number 
     { 
      return param1 + (param2 - param1) * Math.random(); 
     }// end function 

     public static function frandSym(param1:Number) : Number 
     { 
      var _loc_2:* = -param1; 
      return _loc_2 + (param1 - _loc_2) * Math.random(); 
     }// end function 

    } 
} 
+2

產生一個隨機數,當應用程序加載和存儲在某個地方...... VAR theRandomNumber = RAND();然後,當他們點擊旋轉使用「theRandomNumber」,旋轉輪子,然後生成下一個隨機。這樣你總是知道下一個隨機數,然後點擊使用隨機數,然後生成下一個數。希望這是有道理的。 –

+2

所以'var _loc_3:* = param1',是嗎?對於使用Haxe輸出SWF中的反編譯變量名稱甚至感到羞恥。我認爲你沒有自己的努力來解決我們可以建議的問題,因此被反編譯爲「代碼轉儲」。就這樣你知道未來的問題(總是**顯示你已經嘗試**以避免downvotes /禁令)。 –

+1

@ VC.One,我寫過,我有其他輪盤賭的全部來源!我是編程的初學者,在尋求幫助方面毫不羞愧。我編輯代碼只是爲了我自己的利益,並沒有從他人的工作中獲得任何好處。 – Unnamed

回答

0

這是因爲意見建議。所有你需要的是前面產生的隨機數字隊列。

package 
{ 
    public class Predictable 
    { 
     static public const FORESIGHT:int = 10; 

     static public var nextRandoms:Array = preFill(); 

     static public function preFill():Array 
     { 
      if (!nextRandoms) nextRandoms = new Array; 

      while (nextRandoms.length < FORESIGHT) 
       nextRandoms.push(Math.random()); 

      return nextRandoms; 
     } 

     static public function random():Number 
     { 
      preFill(); 

      return nextRandoms.shift(); 
     } 
    } 
} 

用法:

// Learn the next random number. 
var a:Number = Predictable.nextRandoms[0]; 

// Generate next random number. 
var b:Number = Predictable.random(); 
相關問題