スコアの仕様

Koki Takahashi edited this page Nov 6, 2016 · 9 revisions

スコアの仕様 (草案)

  • スコアは0点以上10000点以下の10点刻み
  • そのうち5000点はクロックに対する得点、残りの5000点がブロックに対する得点である

共通仕様

クロック点

  • 盤面の高さと同じクロック数でクリアした場合5000点が与えられる
  • ステージの制限クロック数の半分でクリアした場合2000点が与えられる

ブロック点

ブロック数は使用ブロックの重み付き合計値で計算される。

  • 盤面の高さと同じブロック数でクリアした場合5000点が与えられる
  • 盤面の幅×盤面の高さと同じブロック数でクリアした場合2000点が与えられる

案1 (指数関数)

  • クロック点、ブロック点は、ともに5000点を起点にして指数関数的に減少していく
  • 係数は途中の点数の制約を満たすように与えられる

計算式

  • W: 盤面の幅
  • H: 盤面の高さ
  • C_L: 制限クロック数
  • C: かかったクロック
  • B: かかったブロック
  • P_C: クロック点
  • P_B: ブロック点

P_C=5000\cdot\exp\left(\frac{2H-2C}{C_L-2H}\log\frac{5}{2}\right)

P_B=5000\cdot\exp\left(\frac{H-B}{H(W-1)}\log\frac{5}{2}\right)

利点

  • 計算式が単純
  • 5000点での傾きがパラメータによらず一定(-1000*log(5/2))

欠点

  • 得点が0点にならない

案2 (多項式)

  • 制限クロック数と同じクロック数でクリアした場合、0点のクロック点が与えられる
  • 盤面の幅×盤面の高さ×3と同じブロック数でクリアした場合、0点のブロック点が与えられる
  • クロック点、ブロック点は、ともに5000点を起点にして多項式的に減少していく
  • 係数は途中の点数の制約を満たすように与えられる

計算式

  • W: 盤面の幅
  • H: 盤面の高さ
  • C_L: 制限クロック数
  • C: かかったクロック
  • B: かかったブロック
  • P_C: クロック点
  • P_B: ブロック点

P_{C}=2000\exp\left(\log\frac{5}{2}\cdot\frac{\log2-\log C_{L}+\log\left(C_{L}-C\right)}{\log2-\log C_{L}+\log\left(C_{L}-H\right)}\right)

P_{B}=2000\exp\left(\log\frac{5}{2}\cdot\frac{\log\left(3HW-H\right)-\log\left(3HW-B\right)}{\log\left(3HW-H\right)-\log2HW}\right)

利点

  • 0点の場所を定めることができる

欠点

  • 計算が複雑

案3 (線形補間)

  • 名前の通り
  • 計算結果が負になったら0点とする

計算式

  • W: 盤面の幅
  • H: 盤面の高さ
  • C_L: 制限クロック数
  • C: かかったクロック
  • B: かかったブロック
  • P_C: クロック点
  • P_B: ブロック点

P_{C}=5000-3000\frac{C-H}{\frac{C_{L}}{2}-H}

P_{B}=5000-3000\frac{B-H}{HW-H}

利点

  • 分かりやすい

欠点

  • クロック数・ブロック数が一定値を超えると得点が0になる