阶梯底分单次模拟
Posted yuvejxke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶梯底分单次模拟相关的知识,希望对你有一定的参考价值。
可以满足底分不断变化
#底分序列 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统计即可
以上是关于阶梯底分单次模拟的主要内容,如果未能解决你的问题,请参考以下文章