阶梯底分单次模拟

时间:2020-03-26
本文章向大家介绍阶梯底分单次模拟,主要包括阶梯底分单次模拟使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

可以满足底分不断变化

#底分序列
base_gold_ls<-c(20,50,100)
x<-as.numeric(c( names(table(TIMES))))

# 输赢倍率所对应的频率

fre_TIMES<-c(as.numeric(table(TIMES)))
#每轮玩家数目序列
num_gamers<-c(12,9,3)
loop_result<-list()
RESULT_GOLD<-c()
RESULT_GOLD_LS<-list()
# 随机抽取
wl_times<-sample(x,1,replace=F,prob=fre_TIMES)
# 轮次循环,嵌套轮次内玩家循环,循环次数为当前人数/3
for (i in c(1:length(num_gamers))){ 
    #本轮比赛循环,循环次数为当前人数/3
    for (j in c(1: (num_gamers[i]/3))){
        #胜利失败的倍数
        wl_times<-sample(x,1,replace=F,prob=fre_TIMES)
        # 底分
        basegold<-base_gold_ls[i]
        # 玩家入场分
        base_gold<-1000

        wl<-sample(0:1,1)
        if(wl==1){ result_gold<-c(wl_times*basegold*2*1+base_gold,wl_times*basegold*-1+base_gold,wl_times*basegold*-1+base_gold)
        } else {result_gold<-c(wl_times*basegold*2*-1+base_gold,wl_times*basegold*1+base_gold,wl_times*basegold*1+base_gold)
        }

        RESULT_GOLD<-append(RESULT_GOLD,result_gold)
        #选取前n名作为下次底分
        #RL<-sort(RESULT_GOLD,decreasing=T)
        #RL<-RL[1:num_gamers[i]

        result_gold<-c()
        }



    RESULT_GOLD_LS[i]<-list(RESULT_GOLD)
    RL<-sort(RESULT_GOLD,decreasing=T)
    if (i==length(num_gamers)){RL<-c()}else{RL<-RL[1:as.numeric(num_gamers[i+1])]}
   
    RESULT_GOLD<-c()
  
}

但是目前如何从

 结果中取数,重新组成一个数列即可模拟完成

随后table统计即可

原文地址:https://www.cnblogs.com/yuvejxke/p/12577160.html