!ninjaテストスレ4

このエントリーをはてなブックマークに追加
323名無しさん@お腹いっぱい。
○お守り生成アルゴリズム(詳細)
ここでは風化したお守りで鑑定時の乱数が21799だった場合を例に取って説明を行う。

1.スキル1の種類の決定
21799から乱数を1つ進める。
f1(21799) = 45570

風化お守りスキル1の種類(55)で割った余り(判定値)を求める。
45570 % 55 = 30

判定値30を表で参照し、スキル1の種類として「匠」が決定される。

2.スキル1の値の判定
乱数を更に1つ進める。
f2(21799) = 46034

表から「匠」の最大値は5,最小値は1なので、以下の計算を行う。
(最小値〜最大値の間でランダムに選ばれる)
46034 % ([最大値] - [最小値] + 1) + [最小値]
= 46034 % 5 + 1 = 5

スキル1の値として5が決定される。

また、以下の式の値を「充足値A」として計算しておく。
[スキル1値] * 10 / [最大値]
= 5 * 10 / 5 = 10

※充足値Aの範囲は約1〜10
324名無しさん@お腹いっぱい。:2013/03/16(土) 17:29:21.81 ID:cJ0qiSOE
3.スキル2の有無の判定
乱数を更に1つ進める。
f3(21799) = 62335

100で割った余りを判定値として求める。
62335 % 100 = 35

閾値20以上なのでスキル2は「有り」と判定される。
(ここでは20%の確率で無し、80%の確率で有り、と判定される)

「有り」と判定された場合ステップ4へ、「無し」と判定された場合はステップ7へ進む。
※ここで「有り」と判定された場合でも、ステップ4で決定されたスキル2の種類がスキル1と重複した場合や、
ステップ5のスキル値が0だった場合、最終的にスキル2は無しとなる場合がある。

4.スキル2の種類の判定
乱数を更に1つ進める。
f4(21799) = 55339

風化お守りスキル2の種類(83)で割った余り(判定値)を求める。
55339 % 83 = 61

判定値61を表で参照し、スキル2の種類として「属性解放」が決定される。
※スキル1の種類と重複した場合、スキル2は無しとなるが、その場合もステップ5で判定を行う。

5.スキル2の値の正負判定
乱数を更に1つ進める。
f5(21799) = 577

2で割った余りを判定値として求める。
577 % 2 = 1

判定値が1の場合正の値が、0の場合は負の値が次のステップ6で選ばれる。
325名無しさん@お腹いっぱい。:2013/03/16(土) 17:29:53.15 ID:cJ0qiSOE
6.スキル2の値の判定
乱数を更に1つ進める。
f6(21799) = 36189

前のステップで「正」と判定されたので、
表から「属性解放」の最大値7を参照し、以下の計算式で求める。

46034 % [最大値] + 1
= 46034 % 7 + 1 = 7

※この計算式はステップ2の計算式の[最小値]に1を入れたものと同一で、
1〜最大値の間からランダムに選ぶのと同じ意味

また、前のステップで「負」と判定された場合は次の計算式を使う。
46034 % (1 - [最小値]) + [最小値]
※ステップ2の計算式の[最大値]に0を入れたものと同一で、
最小値〜0の間からランダムに選ぶのと同じ意味

仮にこの例で前ステップで「負」と判定された場合は、
表から最小値-5を参照し、次の結果になる。
46034 % (1 - (-5)) + (-5) = 46034 % 6 - 5 = -4

※ここで0が算出された場合はスキル2は無しになる。

ステップ2同様に「充足値B」を算出する。
[スキル2値] * 10 / [最大値]
7 * 10 / 7 = 10

※充足値Bの範囲は0〜10
※ステップ3でスキル2「無し」と判定されていたり、
前ステップで「負」と判定されている場合は計算せずに「充足値B」は0とする。

7.スロット数の判定
更に乱数を進める
f7(21799) = 29053
※ステップ3でスキル2「無し」と判定された場合はf4(21799)を計算することになる。

100で割った余りを判定値とする。
29053 % 100 = 53

また、充足値Aと充足値Bの合計を求める(小数点以下切捨て)
10 + 10 = 20

表から充足値20の行を参照し、判定値53が属するところ(0)をスロット数とする。
326名無しさん@お腹いっぱい。:2013/03/16(土) 17:30:27.04 ID:cJ0qiSOE
8.護石の種類の決定
充足値 + スロット数 * 2
= 20 + 0 * 2 = 20


英雄 1〜9
伝説 10〜15
天 16〜20

天の護石と決定される。