更新日:

ニューパルサーsp3 トロフィー出現率 ゲーム数別

計算元はネットで公開されてる2000Gまでのトロフィー出現率を使用。

関連

アイムジャグラーEX(6号機)の勝率・平均投資額を公開。独自算出に使ったJavaScriptソースコードあり。

設定2

ゲーム数
1000 32.7%
2000 54.7%
3000 69.5%
4000 79.5%
5000 86.2%
6000 90.7%
7000 93.7%

設定3

ゲーム数
1000 30.9% 3.9%
2000 52.2% 7.6%
3000 67% 11.2%
4000 77.2% 14.6%
5000 84.2% 17.9%
6000 89.1% 21.1%
7000 92.4% 24.2%

設定4

ゲーム数
1000 27.9% 2.1% 3.9%
2000 48% 4.2% 7.7%
3000 62.5% 6.2% 11.3%
4000 73% 8.2% 14.8%
5000 80.5% 10.2% 18.2%
6000 85.9% 12.1% 21.4%
7000 89.9% 13.9% 24.5%

設定6

ゲーム数
1000 26.6% 4.7% 2.6% 1.4%
2000 46.1% 9.2% 5.1% 2.8%
3000 60.4% 13.5% 7.6% 4.2%
4000 70.9% 17.6% 9.9% 5.5%
5000 78.7% 21.4% 12.3% 6.9%
6000 84.3% 25.1% 14.5% 8.2%
7000 88.5% 28.7% 16.7% 9.5%

ソースコード

app.js
const params = {
  2: {
    bronze: 0.547,
  },
  3: {
    bronze: 0.522,
    silver: 0.076,
  },
  4: {
    bronze: 0.48,
    silver: 0.042,
    gold: 0.077,
  },
  6: {
    bronze: 0.461,
    silver: 0.092,
    gold: 0.051,
    rainbow: 0.028,
  },
};

const shaping = (value, base) => Math.round(value * base) / base;

const result = Object.keys(params).reduce((acc, settei) => {
  const start = 1000;
  const end = 7000;

  const target = params[settei];

  acc[settei] = {};

  const keys = Object.keys(params[settei]);
  keys.map(key => {
    acc[settei][key] = {};

    for (let i = start; i <= end; i += 1000) {
      acc[settei][key][i] = shaping(
        1 - ((1 - target[key]) ** (1 / 2000)) ** i,
        1000
      );
    }
  });

  if (keys.length === 1) {
    return acc;
  }

  const sum = keys.reduce((acc, k) => {
    acc += target[k];
    return acc;
  }, 0);

  acc[settei]['sum'] = {};
  for (let i = start; i <= end; i += 1000) {
    acc[settei]['sum'][i] = shaping(1 - ((1 - sum) ** (1 / 2000)) ** i, 1000);
  }
  return acc;
}, {});

console.log(result);