我想在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
}
}
答案 0 :(得分: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();