2018年9月24日月曜日

みんなとバトルカップ LPと勝ち数の関係式

さすがに、いちいちバトルの勝ち負けを記録しているのも大変なので、計算で勝ち数を求めています。
バトルをする時に、いつも魔力を30使ってやっているので、バトル挑戦回数と獲得したLP数で、勝った回数がわかるようになっています。

c ・・・ バトル挑戦回数
p ・・・ 獲得したLP数
w ・・・ 勝った回数

魔力30でバトルをして勝つと150LPを獲得します。
3連勝すると、3連勝で獲得したLPの平均値をボーナスLPとして獲得します。ずっと30の魔力でバトルをしているので、この場合の平均値は150LPになります。
よって、pは150の倍数になります。
で、計算しやすいように
p'=p÷150 という数字を求めてから、計算に使います。

w ≧ (3p' + c)/5  という条件式を満たす最小の整数が勝った回数になります。

たとえば、バトル挑戦回数124回で、獲得LPが23250の場合、

P'=23250÷150=155
w ≧ (3×155 + 124)/5=(465 + 124)/5=589/5=117.8
となるので、
w = 118

バトル挑戦124回中、118勝して6敗、
連勝回数は p' - w = 155 - 118 = 37回

という計算になります。

この計算式についての説明。
c ・・・ バトル挑戦回数
p ・・・ 獲得したLP数
p' ・・・ p ÷ 150
w ・・・ 勝った回数
ℓ ・・・ 負けた回数
n ・・・ 3連勝の回数

定義から、以下の数式が成り立つ
c=w+ℓ
p'=w+n

3連勝の回数は、
負けた回数が0回なら、勝った回数を3で割った数 w÷3
しかし、1回負けると連勝回数は1減る
2回負けると2回減る場合と1減る場合がある
3回負けると同じく2回減る場合と1減る場合がある
4回負けると3回減る場合と2回減る場合がある
つまり3回負けるごとに確実に1回ずつ連勝が減る
よって、
n≦(w - ℓ)÷3
と表せる。

n≦(w - ℓ)÷3=(w - (c - w))÷3 = (w - c +w)÷3=(2w - c)÷3
3n≦2w - c
2w≧3n + c = 3(p' - w)+c=3p'-3w+c
5w≧3p'+c
w≧(3p'+c)÷5

たぶん、挑戦回数が増えると1、2勝くらい過少になるかもしれませんが、まあ誤差の範囲内としてしかたないと思います。


0 件のコメント:

コメントを投稿