index.d.ts 2.02 KB
/**
 * 线性同余随机数生成器
 */
export declare class Random {
    /**
     * 创建一个随机数生成器
     */
    constructor(seed: number);
    /**
     * 设置用于随机数生成器的种子,如果不设置则实际是取当前时间毫秒数
     */
    seed: number;
    /**
     * 返回一个随机数,在0.0~1.0之间
     */
    get value(): number;
    /**
     * 返回半径为1的圆内的一个随机点
     */
    get insideUnitCircle(): {
        x: number;
        y: number;
    };
    /**
     * 返回半径为1的圆边的一个随机点
     */
    get onUnitCircle(): {
        x: number;
        y: number;
    };
    /**
     * 返回一个在min和max之间的随机浮点数
     */
    range(min: number, max: number): number;
    /**
     * 设置用于随机数生成器的种子,如果不设置则实际是取当前时间毫秒数
     */
    static seed: number;
    /**
     * 返回一个随机数,在0.0~1.0之间
     */
    static get value(): number;
    /**
     * 返回半径为1的圆内的一个随机点
     */
    static get insideUnitCircle(): {
        x: number;
        y: number;
    };
    /**
     * 返回半径为1的圆边的一个随机点
     */
    static get onUnitCircle(): {
        x: number;
        y: number;
    };
    /**
     * 返回一个在min和max之间的随机浮点数
     */
    static range(min?: number, max?: number): number;
    /**
     * 返回一个在min和max之间的随机整数,包括最大值
     */
    static rangeInt(min: number, max: number): number;
    /**返回一个arr[0]到arr[1]之间的随机整数,包括最大值 */
    static rangeIntByArr(arr: number[]): number;
    /**返回一个arr[0]到arr[1]之间的随机数,包括最大值 */
    static rangeByArr(arr: number[]): number;
    /**从数组里随机一个元素 */
    static rangeFromArr<T>(arr: Array<T>): T;
    /**根据权重数组的概率分布,随机抽取值数组里的元素 */
    static getValueByWeight<T>(arrValue: Array<T>, arrWeight: Array<number>): T;
}