Rのクソコードを巴戦の結果を通算成績に加えるかを選択できるようにして
場合分けをコンパクト化。可読性が悪くなった気もする。

# 通算成績 1:横綱 2:大関 3:関脇
rec1=c(8,7) #  2 vs 3
rec2=c(6,5) # 1 vs 3
rec3=c(10,9) # 1 vs 2
recs=rbind(rec1,rec2,rec3)
bouts=rbind(c(2,3),c(1,3),c(1,2))

sim=function(overall=TRUE){ # overall:巴戦の結果を通算成績に組み入れるか?
nuke1=nuke=sample(3,1) # 初戦の抜け番
last_winner=0  # 前勝者
flg= FALSE # 連勝フラッグ
count=0 # 試合数
while(!flg){
count=count+1
i=sample(1:2,1,prob=recs[nuke,]) # 勝者のindex 1 or 2
recs[nuke,i]=recs[nuke,i]+overall # 勝率の更新
winner=bouts[nuke,][i] # 勝者番号 1,2,or 3
nuke=bouts[nuke,][-i] # 敗者(=次の抜け)番号 1,2,or 3
flg <- winner==last_winner # 連勝フラッグ更新
last_winner=winner        # 前勝者更新
}
c(victor=winner,nuke=nuke1,count=count)
}

実行例
> replicate(15,sim())
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
victor 2 1 1 1 2 2 1 1 2 2 1 3 2 1 3
nuke 2 1 2 2 1 2 3 3 1 3 2 2 1 1 3
count 3 3 2 2 2 3 2 2 4 2 4 2 2 3 3