游戏概率问题

我想请教一下,就是我将每个事件赋予一定的权重,比如0.2,0.1,那么该如何写函数让事件随概率发生,或者各位大佬有其他方法实现随机事件嘛

随机一个1到10的整数,数字落在你权重的对应范围内那么发生对应的事件

那如果相同概率的事件呢

。。。举个例子事件1事件2分别占30%那么随机数可以这样处理当数字在1~3内那么执行事件1如果在4~5范围内那么执行事件2以此类推

懂了懂了,谢谢

https://blobfolio.com/2019/randomizing-weighted-choices-in-javascript/

    /**
     * 按指定几率随机返回数组内一个元素
     * @param arr 数组
     * @param chanceList 几率列表
     */
    randomElementByChance<T>(arr: T[], chanceList: number[]): T {
        if (!arr || arr.length == 0 || !chanceList || chanceList.length == 0) {
            return null;
        }
        let chanceSum = chanceList.reduce((a, b) => a + b, 0);
        let rnd = Math.random() * chanceSum;
        for (let i = 0, len = chanceList.length; i < len; ++i) {
            let chance = chanceList[i] || 0;
            if (rnd < chance) {
                return arr[i];
            }
            rnd -= chance;
        }
        return null;
    }